私はここで次の質問を読んでいます:CakePHP 2.0-カスタムエラーページを作成する方法は?
CakePHP 2.0+で例外処理用のカスタムビューを作成することについて、そしてそれをベースとして使用して、自分のアプリケーションで同じことを開始し、それによって自分の質問を開始しました。
しかし、私は論理に従っていません。たとえば、Throw NotFoundExceptionは、名前付けに関して直接的な関係が見られないため、Errors ControllerのnotFoundメソッドを呼び出すことをどのように知っていますか...要点を見逃していない限り?
いずれにせよ、404、403、および401エラーを追加してから、カスタムビューを作成し、アプリ全体で例外ハンドラーを使用してそれらを呼び出すことができるようにしたいと考えています。
誰かがこれにもっと光を当てることができますか?Cake2.1の最新バージョンを使用しています
だから私は次のコードを持っています:
App::uses('ExceptionRenderer', 'Error');
class AppExceptionRenderer extends ExceptionRenderer {
public function notFound($error) {
$this->controller->redirect(array('controller' => 'errors', 'action' => 'error404'));
}
}
そして、そのリダイレクトをカスタムエラービューのレンダリングに置き換えたいと思います。
私はもう試した:
$this->controller->layout = null;
$this->controller->render('/Errors/error404');
しかし、それは空白のページを示しているだけです...リダイレクトを実行したくないので、誰かが私を助けてくれますか?エラーが発生したときに、規則に従い、同じURLで実際のビューをレンダリングしたいと思います。
更新:カスタムビューは、例外がコントローラーで手動で呼び出された場合にのみ呼び出され、その他の実際のエラーでは呼び出されないdomain.com/garbageurl
ことにも注意してください...したがって、私が思っていたようには機能していないようです。