В моем 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" не определено.
Таким образом, в моем пользователе _view.php Yii, похоже, использует поставщика данных домена.
Как мне вставить эти dataProviders в мой файл макета main.php? Похоже, что SiteController.php делает это неправильно.
Было бы очень хорошо, если бы у кого-то есть идея здесь. Заранее спасибо.