我在我的 web 项目中使用 Yii 框架。现在,我有几个模块,我只想对所有模块使用一种布局。我使用以下代码来确定每个模块中每个控制器/动作的布局:
$this->layoutPath = Yii::getPathOfAlias('application.views.layouts');
$this->layout = '//layouts/myLayout';
是否有任何其他解决方案可以通过在每个模块的 init() 函数中使用相同的代码来做到这一点?换句话说,我必须在每个动作中编写上述两行代码,我认为这不好,我想减少我的代码行数。例如如下:
class StaffModule extends CWebModule
{
public $layout;
public $layoutPath;
public function init()
{
$this->layoutPath = Yii::getPathOfAlias('application.views.layouts');
$this->layout = '//layouts/myLayout';
$this->setImport(array(
'staff.models.*',
'staff.components.*',
));
}
}
但它不起作用。请帮帮我。