在YII中,如果我們使用了modules區分了前后臺,那么在不同的modules中需要使用各自的layout文件,在使用中發現經常會調用不到modules中的layout,下面介紹一下如何才能正確的調用到modules的其中一種方法:
1 components/Controller.php中默認定義了public $layout的值,一旦這里設置了值,如果layout的名字與模塊layout的名字不同的話,則無法正確加載到layout,因此最好注釋掉這樣的代碼,轉而在每個modules的XXXXModule.php的init方法中設置control的layout變量的值;
2 在每個modules的XXXXModule.php的init方法中設置modules的layout變量的值有幾種方式:
第一種,$this->layout = 'index';
第二種,$this->layout ='/layouts/index';
第三種,$this->layout = 'xxx.views.layouts.index';//xxx為模塊的id
對于第二種方式,如果設置成$this->layout = '//layouts/index';兩條//,則默認會加載PRotected/view/layouts/index這個layout;
本文轉自:點擊打開鏈接
新聞熱點
疑難解答