【发布时间】:2011-08-23 16:16:06
【问题描述】:
我正在使用 CakePHP 1.3,我正在寻找包含来自我的插件之一(使用插件布局)的 /admin/ 前缀的任何错误(缺少控制器、缺少页面等),而不是使用我的网站 default.ctp 布局提供服务。
在哪里放置此代码的最佳位置?
【问题讨论】:
我正在使用 CakePHP 1.3,我正在寻找包含来自我的插件之一(使用插件布局)的 /admin/ 前缀的任何错误(缺少控制器、缺少页面等),而不是使用我的网站 default.ctp 布局提供服务。
在哪里放置此代码的最佳位置?
【问题讨论】:
我能够通过将以下内容保存为 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 );
}
}
?>
【讨论】: