0

独自のレイアウト/ビューのセットを使用するカスタムモジュールがあります。ただし、エラーについては、デフォルトのサイトレイアウトとビューを使用したいと思います。私のモジュールではerrorHandler errorActionsite/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;
        }
    }
}

ただし、まだ管理レイアウトを使用しているので、デフォルトのレイアウトを使用したいと思います。エラーアクションのためだけに上書きするにはどうすればよいですか?

4

1 に答える 1

1

actionError()SiteControllerにデフォルトのレイアウト名を追加するだけです

class SiteController extends Controller
{

public function actionError()
    {
        $this->layout='defaultLayoutName';
           //rest of the code goes here
    }
}
于 2013-02-01T09:17:54.097 に答える