yii的module中使用自己的Layout

出自:

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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章