是否可以在cakephp1.3中为不同的错误设置不同的布局?
这是我的 AppError 类
function _outputMessage($template) {
$this->controller->beforeFilter();
$this->controller->render($template);
$this->controller->afterFilter();
echo $this->controller->output;
}
function error404($params) {
extract($params, EXTR_OVERWRITE);
header("HTTP/1.0 404 Not Found");
$this->error(array('code' => '404',
'name' => 'Not found',
'message' => sprintf("page not found %s", $url, $message),
'base' => $base));
exit();
}
function item404($params) {
extract($params, EXTR_OVERWRITE);
header("HTTP/1.0 404 Not Found");
$this->error(array('code' => '404',
'name' => 'Not found',
'message' => sprintf("Item not found %s", $url, $message),
'base' => $base));
exit();
}
我想分别有布局“错误”和布局“itemerror”。 我已尝试在函数中设置布局,但它不起作用。
任何帮助表示赞赏,
答案 0 :(得分:0)
当然,只需更改控制器的布局即可。
$this->controller->layout = 'error_layout';
这假设您继续使用默认的_outputMessage()
方法。
function _outputMessage($template) {
// can be set in the error method
$this->controller->layout = 'error_layout';
parent::_outputMessage($template);
}