用命令行新建了一个module叫做admin,自动生成的view文件夹下面有一个layout文件夹,但是在里面放如自己的layout文件main.php不管用,是需要在config里面的module中设置什么吗?还是不支持自动配置,只能在admin的controller中进行设置?
另外,如果放入到theme下面,会自动调用对应的theme的主要的layout下的main.php,也不会调用theme下面admin这个module下的layout。
用命令行新建了一个module叫做admin,自动生成的view文件夹下面有一个layout文件夹,但是在里面放如自己的layout文件main.php不管用,是需要在config里面的module中设置什么吗?还是不支持自动配置,只能在admin的controller中进行设置?
另外,如果放入到theme下面,会自动调用对应的theme的主要的layout下的main.php,也不会调用theme下面admin这个module下的layout。
你需要配置module本身的layout(layout是CWebModule的一个属性)。缺省值是null,意思是用父亲(应用或父module)的layout。
Quote
我需要指定themes/classic/views/moduleId/layouts/zh_cn/目录下的一个layout.php作为一个module的layout,在配置文件中应该这么写呢?
在你module class的init里设置$this->layout='layout'。
Quote
经过测试:
1.在module的init,或者在config里面设置layout,都会指向modules/moduleId/views/layouts目录下面的layout文件,而不会指向theme下面对应的module的views下的layout文件;
2.同样的view文件却可以自动调用到theme下面对应的文件。
多谢,这是一个bug,已经解决了。