在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;
Yii modules中layout文件的调用,布布扣,bubuko.com
时间: 2024-12-28 16:24:19