YII dataProvider의 테마 main.php 내 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/뷰/레이아웃/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는 Domain Dataprovider를 사용하는 것으로 보입니다.
어떻게하면 해당 dataProviders를 레이아웃 main.php 파일을 지나치게 할 수 있습니까? SiteController.php이 그렇게하지 않는 것 같습니다.
누군가 아이디어가 있다면 아주 좋을 것입니다. 고맙습니다.
가능한 중복 [레이아웃 변수를 전달하는 방법? (http://stackoverflow.com/questions/7058410/how-to-pass-variables-to-layout) – soju
그을 시도했다. 그것은 작동하지 않습니다. – K213