对不起这个问题。我已经阅读了两本书和几本教程,以及Yii的文档,但我仍然无法理解如何做这个非常基本的事情。基本上,我需要从表中读取所有元素并将它们显示在列表中。
我做了这个
在控制器上(方法actionIndex())
$criteria = new CDbCriteria();
$dataProvider = new CActiveDataProvider('Items', array(
'criteria'=>$criteria,
));
$this->render('index',array(
'dataProvider'=>$dataProvider,
));
在视图index.php
上<?php $this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
'itemView' => '_item'
));
&GT;
在视图item.php
上<?php $this->renderPartial('_item',array(
'post'=>$dataProvider,
)); ?>
并在局部视图中_item
<?php
$this->Widget('CMarkdown', array('purifyOutput'=>true));
&GT;
即使分页有效,系统也不会显示任何内容。我相信必须存在一些方法来在渲染视图中访问具有当前ActiveRecord元素或其他元素的对象(我不明白控制器的CActiveDataProvider是否是ActiveRecord元素)。
我真的很感激能帮助我解决这个问题的每个人
答案 0 :(得分:2)
根据您的说法,您似乎有一个不必要的文件。你不需要item.php。
此外,您的部分视图_item需要是:
$this->beginWidget('CMarkdown', array('purifyOutput'=>true));
echo $data->content;
$this->endWidget();
我写了$ data-&gt;内容;但您需要将内容替换为您实际想要显示的属性。