2013-02-11 42 views
0

对不起,对于这个问题。我已经阅读了两本书和几本教程,以及Yii的文档,但我仍然无法理解如何做这件非常基本的事情。基本上,我需要读取表中的所有元素并将它们显示在列表中。从CListView访问视图中的模型元素

我这样做

在控制器(方法的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' 

));

?>

在视图item.php

<?php $this->renderPartial('_item',array(
     'post'=>$dataProvider, 

    )); ?> 

,并在局部视图_item

<?php 
$this->Widget('CMarkdown', array('purifyOutput'=>true)); 

?>

即使分页作品,该系统没有显示任何东西。我相信必须以某种方式在呈现视图中以某种方式访问​​具有当前ActiveRecord元素元素的对象(我不明白控制器的CActiveDataProvider是否为ActiveRecord元素)。

我真的感谢大家谁可以帮助我在这件事情

回答

2

根据你所说的,好像你有一个不必要的文件。你不需要item.php。

而且,你的局部视图_item需要是:

$this->beginWidget('CMarkdown', array('purifyOutput'=>true)); 
echo $data->content; 
$this->endWidget(); 

我写$数据 - >内容;但是你需要用你真正想要显示的属性替换单词内容。