yii模块中具有不同视图布局的ErrorHandler

时间:2013-02-01 04:28:55

标签: yii yii-modules

我有一个自定义模块,它使用它自己的布局/视图集。但是对于错误,我想使用默认的站点布局和视图。在我的模块中,我将errorHandler errorAction设置为site/error

class AdminModule extends CWebModule {

    public function init() {
        $this->setImport(array(
            'admin.models.*',
            'admin.components.*',
        ));

        Yii::app()->setComponents(array(
            'errorHandler'=>array('errorAction'=>'site/error'),
        ));

        $this->layout = 'admin';
    }


    public function beforeControllerAction($controller, $action) {
        if(parent::beforeControllerAction($controller, $action)) {
            $controller->layout = $this->layout;
            return true;
        } else {
            return false;
        }
    }
}

然而,它仍在使用管理员布局,我希望它使用默认布局。如何仅为错误操作覆盖它?

1 个答案:

答案 0 :(得分:1)

actionError()的{​​{1}}中添加默认布局名称

SiteController