メンテナンスページを設定しようとしています。サイトが無効になっているときに、要求されたページが何であっても表示されるようにしています。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
を。しかし、私は明らかにRequestHandler
コンポーネントをapp_controller.php
に設定しました。さらに、私は別のコントローラ内からこのエラーを呼び出そうとしましたが、それは私に致命的なエラーを与えません。
何が問題なのですか?私がコンポーネントを初期化したことを認識しないのはなぜですか?
どこ正確で上記のリンクでそれについての詳細を読むことができます'AppController'は呼び出されたエラーですか? – cspray
'beforeFilter()'メソッドにあります。この変更を反映するために投稿を編集しました。 – linkyndy