[CakePHP]404エラー画面のカスタマイズ
最近、引越し準備に追われているichikawaです。
本日は、CakePHPで404エラー画面のレイアウトを変更する方法をご紹介いたします。
404エラーを呼び出す
404エラーを呼び出すには、以下のように記述します。
$this->cakeError('error404');
エラーページのテンプレートの配置
エラーページは以下に配置します。
app/views/error/error404.ctp
エラーハンドラを拡張する
app/app_error.phpを用意し、以下のように記述します。
class AppError extends ErrorHandler {
}
上記クラスにメソッドを追加することで、カスタマイズが可能です。実際にやってみましょう
404エラーページのカスタマイズ
デフォルトではdefault.ctpが使われますが、error.ctpに変更します。
class AppError extends ErrorHandler {
$this->controller->layout = 'error';
}
ログイン状態によってレイアウトを変えます。
class AppError extends ErrorHandler {
// ログイン状態によって分岐
if (!$this->controller->Auth->user()) {
$this->controller->layout = 'no_login'; // 未ログイン
} else {
$this->controller->layout = 'login'; // ログイン
}
}
メッセージなどをset
class AppError extends ErrorHandler {
$this->controller->set('message', 'エラーです。');
}
以上、簡単ですがCakePHPにおける404エラーページのカスタマイズ方法でした。