Yii modules中layout的调用

来源:互联网 发布:迪杰斯特拉算法应用 编辑:程序博客网 时间:2024/04/29 22:01
在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;
0 0