404エラーページをカスタマイズ
開発環境:CakePHP2.5.1
CakePHPではエラーページが用意されていますが、味気ないものなので、カスタマイズしていきましょう。
開発時のエラーページ
debug>0の時には例外処理が働いて、より細かな状況を教えてくれます。
ファイルとしては、lib/Cake/View/Errors内のファイルが状況に応じて適用されます。
例えば、コントローラーが見つからない場合はmissing_controller.ctp、アクションが見つからない場合はmissing_action.ctpが呼び出されます。
開発時なので、特にカスタマイズする必要もありませんね。
本番時のエラーページ
本番時は、上記のようなコントローラーが見つからない場合に呼び出されるファイルはapp/View/Errors/error400.ctpになります。
このファイルをカスタマイズすることで独自のエラーページが作成できます。
エラーページのlayout変更
エラーページのレイアウトはデフォルトでapp/View/Layouts/default.ctpが使われます。
これをエラー専用の別レイアウトを指定することができます。
app/View/Layouts/error.ctp(元々用意されている)を使おうとすると、error400.ctpなどの各エラーページに下記コードを追加します。
<?php $this->layout = 'error'; ?>
これで専用のレイアウトを呼び出せます。