CakePHP插件的自定义错误页面

时间:2011-05-11 21:38:40

标签: php cakephp

我正在使用CakePHP 1.3,我正在寻找包含/ admin /前缀的任何错误(缺少控制器,缺少页面等)来自我的一个插件(使用插件布局)而不是使用我的网站default.ctp布局提供服务。

在哪里放置代码的最佳位置?

1 个答案:

答案 0 :(得分:1)

我能够通过将以下内容保存为app / app_error.php来重载ErrorHandler中的_outputMessage()函数来解决这个问题

<?php

class AppError extends ErrorHandler {

    function _outputMessage( $template ) {

        $url = $this->controller->params['url']['url'];
        if( substr( $url, 0, 6 ) == 'admin/' ) {
            $this->controller->layout = 'admin_default';
        }

        parent::_outputMessage( $template );
    }
}
?>