Web Tech Log by 1KB

Icon

Web開発、Webデザイン、SEO、携帯コンテンツなどWebにまつわるテクノロジーを追っかけるブログ。旧名「Web屋に復帰した人間のリハビリ日記」

CakePHPで404エラー画面のレイアウトを「default.ctp」ではなく別のレイアウトを指定する

CakePHP製のPC+携帯混合のWebサイトで、404のエラー画面が、携帯サイトでもPCと同じでかくてたくさんの画像いっぱいのエラー画面になって問題になりました。

原因を調べていたら、携帯版でもエラー画面はPC用レイアウトとして使っていた「default.ctp」を使用してしまうことが判明(携帯版では「mobile.ctp」を使用していた)。

そこで、CakePHPで404のエラー画面を別のレイアウトで表示するように変更してみた。

<?php
class AppError extends ErrorHandler {

    function error404($params) {
        $this->controller->layout = "simple";
        parent::error404($params);
    }
}
?>

携帯でもPCでも表示できるような簡単なHTMLでレイアウトファイル「app/views/layouts/simple.ctp」を作成する。これで携帯版でもPCばりの画像が出なくなり、シンプルなエラー画面になりました。

参考

Category: cakephp

Tagged:

Leave a Reply

킹ēǂ݂uOp[c