未定义的变量:dataProvider

时间:2013-12-20 12:15:32

标签: yii

我是Yii的新手。当我将数据提供者传递给视图时,它获取错误为未定义变量dataProvider。

SiteController代码

elseif ($id=='user')  
{  
    $dataProvider=new CActiveDataProvider('Product');
    $this->redirect(array('site/userhome'),array('dataProvider'=>$dataProvider));  
}

用户家居代码

<?php $this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
'itemView'=>'_view')); ?>

2 个答案:

答案 0 :(得分:4)

你在这做什么

$this->redirect(array('site/userhome'),array('dataProvider'=>$dataProvider));

查看 userhome 代码,它看起来好像是一个视图文件。

您想将数据提供者传递给视图,那么为什么使用 REDIRECT
相反,你应该使用像

这样的渲染
$this->render('viewFileName',array('dataProvider'=>$dataProvider));

第二件事
你需要了解关于 dataprovider 更多。

点击 dataprovider

答案 1 :(得分:0)

您应该使用此代码

$this->render('userhome',array('dataProvider'=>$dataProvider));
你的siteController中的