周三 8 二 2012
CakePHP的error404页面不会根据不同模板展示
Posted by Jansfer under CakePHP
No Comments
我们用CakePHP做的系统,会有不同的模板。当出现错误页面(如404)时,我们希望404页面仍然是基于当前用户访问的模板进行展示的(头部、尾部等)。但建立了error404.ctp后发现并不会根据当前的模板展示(theme),后来调试发现,CakeErrorController 并没有执行beforeFilter()。解决方法:
1. 在app_controller.php添加
function __construct() {
parent::__construct();
if ($this->name == 'CakeError') {
$this->constructClasses();
$this->beforeFilter();
}
}
2. 在app下创建error.php
<?php class AppError extends ErrorHandler { function error404($params) { $this->controller->beforeFilter(); parent::error404($params); } } ?>
这样,就搞定了。
No Responses to “ CakePHP的error404页面不会根据不同模板展示 ”