[CakePHP]404エラー画面のカスタマイズ

[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エラーページのカスタマイズ方法でした。

  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ