出自:
http://holyrain1314.blog.163.com/blog/static/10011413520137213910706/
在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;