我使用Yii框架,我有两个模型(论坛和主题),每个论坛都有很多主题。
现在我想在论坛(view.php)的视图中显示所有论坛的主题,在网上搜索后我发现了这条指令:
<?php $this->renderPartial("/topic/index",array('dataProvider' => new Topic)); ?>
但是当我试图显示论坛视图时,我有这个错误:
论坛及其行为没有名为“getData”的方法或闭包。
请帮忙。
请原谅我糟糕的英语。
答案 0 :(得分:0)
protected / views / forum / index.php
<?php
/* @var $this ForumController */
/* @var $dataProvider CActiveDataProvider */
$this->breadcrumbs=array(
'Forums',
);
echo $this->renderPartial('_menu');?>
<h1>Forums</h1>
<?php $this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
'itemView'=>'_view',
)); ?>
答案 1 :(得分:0)
您收到此错误,因为示例中的$ dataProvider是模型对象,而不是CActiveDataProvider。如果您使用Gii创建了主题模型,您将在Model类中看到有一个search()方法。这个search()方法返回一个CActiveDataProvider() - 这是你需要用于CListView的东西:
试试这个:
<?php $this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider->search(), // Added search()
'itemView'=>'_view',
)); ?>