在我的 SiteController.php
public function actionIndex()
{
// renders the view file 'protected/views/site/index.php'
// using the default layout 'protected/views/layouts/main.php'
//$this->render('index');
$dataProviderUser=new CActiveDataProvider('User',array(
'pagination'=>array(
'pageSize'=>20,
),
));
$dataProviderDomain = new CActiveDataProvider('Domain');
$this->render('index',array(
'dataProvider1'=>$dataProviderUser,
'dataProvider2'=>$dataProviderDomain
));
}
在我的主题/k/views/layout/main.php
<?php
if(!Yii::app()->user->isGuest)
{
$this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider2,
'itemView'=>'_view',));
?>
出现这个错误:未定义变量:dataProvider2
如果我在我的 main.php 中这样做:
<?php
$dataProvider2 = new CActiveDataProvider('Domain');
if(!Yii::app()->user->isGuest)
{
$this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider2,
'itemView'=>'_view',));
?>
到目前为止效果很好。但是如果我去用户配置文件:
/user/view/id/5
未定义属性“Domain.username”。
所以在我的 User _view.php 中 Yii 似乎采用了 Domain Dataprovider。
如何将这些 dataProviders 传递到我的布局 main.php 文件? SiteController.php 似乎没有做到这一点。
如果有人在这里有想法,那就太好了。先谢谢了。