在我SiteController.phpYii的數據提供程序的主題main.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 /視圖/佈局/ 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',));
?>
到目前爲止工作正常。但是,如果我去給用戶PROFIL:不定義
/user/view/id/5
屬性 「Domain.username」。
所以在我的用戶_view.php Yii似乎採取域數據提供者。
如何將這些dataProviders放到我的佈局main.php文件中? SiteController.php似乎沒有這樣做的權利。
會很好,如果有人有一個想法在這裏。 謝謝先進。
可能重複[如何通過變量來佈局?](http://stackoverflow.com/questions/7058410/how-to-pass-variables-to-layout) – soju
試過了。它不起作用。 – K213