我想設置一個維護頁面,以便在禁用該站點時,無論請求哪個頁面,它都應該顯示。在CakePHP中重定向到維護頁面不起作用
目前,我試着用$this->cakeError()
這樣做:
在app_controller.php
:
function beforeFilter(){
....
if($this->__get_config('maintenance_status') == 1){
$this->cakeError('maintenance', array('message' => $this->__get_config('maintenance_message')));
}
....
}
和app_error.php
:
function maintenance($message){
$this->controller->set('message', $message['message']);
($this->controller->RequestHandler->isAjax()) ? $this->_outputMessage('ajax_maintenance') : $this->_outputMessage('maintenance');
}
的問題是,出現致命錯誤,它說:Call to a member function isAjax() on a non-object
。但我明顯地設置了app_controller.php
中的RequestHandler
組件。此外,我試圖從另一個控制器中調用這個錯誤,它不會給我任何致命錯誤。
可能是什麼問題?爲什麼它不承認我已經初始化了組件?
到底在哪在閱讀更多關於它'AppController'是被調用的錯誤? – cspray
在'beforeFilter()'方法中。我編輯了我的帖子以反映這一變化。 – linkyndy