Yii 简单易用表格
在阅读了YiFramework和Ullman之后,关于表单的一些事情我仍然很不清楚。我试过很多东西,但总的来说,我认为我肯定错过了一些基本的东西 作为一个应用程序,假设我正在创建一个用户可以发布到的墙。我可以在控制器中使用以下方法显示特定用户的所有帖子:Yii 简单易用表格,yii,Yii,在阅读了YiFramework和Ullman之后,关于表单的一些事情我仍然很不清楚。我试过很多东西,但总的来说,我认为我肯定错过了一些基本的东西 作为一个应用程序,假设我正在创建一个用户可以发布到的墙。我可以在控制器中使用以下方法显示特定用户的所有帖子: public function actionShow($id) { $userModel = new User; $user = $userModel->findByPk($id); $postMode
public function actionShow($id)
{
$userModel = new User;
$user = $userModel->findByPk($id);
$postModel = new UserPost;
$criteria = new CDbCriteria();
$criteria->condition = 'user_id='.$id;
$myPosts = $postModel->findAll($criteria);
$this->render('show',array(
'user' => $user,
'myPosts' => $myPosts,
'post' => $postModel,
));
}
视图(show.php)中的以下(缩写)代码呈现输出:
echo '<h2>' . $user->first_name . '</h2>';
foreach ($myPosts as $myPost){
echo $myPost->post;
echo '<br/>';
}
然后,我使用以下方法创建了一个参考(在上述actionShow中):
将其传递到我的视图(show.php)中,并在顶部使用以下内容呈现:
$form->render();
或
此时,它只呈现postForm.php文件的内容
这些问题
谢谢 这个例子非常接近实际效果。在看了更多的例子之后,我拼凑了细节,并开始在Yii上取得进展 1。使用CForm(或者我应该使用CActiveForm)正确吗?
在这种情况下,CForm是正确的。要问的问题是“post”背后的模型是否是ActiveRecord(即它是扩展了CActiveModel还是仅仅扩展了CModel)?CForm/CActiveForm的使用应遵循所使用的模型。代码可以使用任何一种类型的模型编写,这取决于开发人员如何处理信息 如果要填充填充数据库表项的表单,则使用活动模型是有意义的。如果表单只是提供一条信息来执行操作(例如搜索),则甚至可能没有模型 我发现这是一个非常有用的例子 2。为什么不呈现表单?
上面的代码基于上的示例。要实现此功能,form builder文件的第一行需要以下代码:
<?php
这是不可重用的,但在本例中,它是一个非常简单的表单。无论如何,我可能会使用表单生成器重新编码
$form->render();
echo $form;
<?php
echo CHtml::beginForm();
echo CHtml::textField('Text', 'some value');
echo CHtml::submitButton('Post');
echo CHtml::endForm();