Yii modules中layout文件的调用

  在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;

posted @ 2013-04-14 21:07  泉眼无声溪细流  阅读(1452)  评论(0编辑  收藏  举报