携帯サイトの404ページの作成方法

Permalink2008/09/19 15:50:34
カテゴリ: 携帯

CakePHP1.2 RC2

PC と携帯が共存しているサイトで、404 エラーが発生すると通常は PC 用の 404 エラーページが表示されます。

そこで、携帯用の 404 エラーページを表示するために、app_controller.php に下記内容を書きます。

function beforeRender()
{
    if (isset($this->params['prefix'])) {
        if (isset($this->viewVars['code']) && $this->viewVars['code'] == '404') {
            $this->viewPath = $this->params['prefix'] . '_' . $this->viewPath;
        }
    }
}

これで、携帯サイトにて 404 が発生した場合は、"prefix" の設定が "mobile" なら、"mobile_errors" というフォルダ内の error404.ctp ファイルを読みにいきます。
つまり、app/views/mobile_errors/ フォルダを作成し、その中に error404.ctp を作成すれば携帯用の404ページが表示されるという感じです。



関連記事


関連記事


    携帯対応(基本編)

    Permalink2008/09/19 08:50:03
    カテゴリ: 携帯

    CakePHP1.2 RC2

    携帯版の対応をする時の基本的な内容です。
    ここでは、http://example.com/m/ のように /m/ がつくと携帯版になるようにします。

    まず、app/config/routes.php に /m/ がついた時の振り分けを記載します。

    Router::connect('/m/:controller/:action', array('prefix' => 'mobile'))
    


    続いて、Controller

    function mobile_sample()
    {
    }
    

    通常(PC 用)の Action 名の前に routes.php で設定した prefix + _(アンダーバー)をつけた Action を用意します。
    あわせて、View も app/views/samples/mobile_sample.ctp というようなファイル名で設置します。

    Layout の変更もします。
    AppController

    function beforeRender()
    {
        if (isset($this->params['prefix'])) {
            $this->layout = $this->params['prefix'] . '_' . $this->layout;
        }
    }
    

    app/views/layouts/mobile_default.ctp というファイルを設置すると、そちらを読みにいきます。


    これで一通りの準備はできましたが、携帯特有の処理として、app/app_controller.php に下記内容を追記します。

    function afterFilter()
    {
        parent::afterFilter();
    
        if (isset($this->params['prefix'])) {
            $this->output = mb_convert_kana($this->output, 'rak');
        }
    }
    

    これで、カタカナを半角にできます。
    また、ここで文字コードの変換(SJIS)も行うことが出来ます。


    関連記事


      プロフィール
      愛知県名古屋市在住のあつ@株式会社一六社(いちろくしゃ)スタッフ

      あつへのメッセージはSkypeを使ってテキストメッセージでどうぞ
      あつ

      CakePHPに関する情報をまとめていきます。

      開発スピードがアップできればうれしいです。

      >>連絡はこちらへどうぞ


      CakePHP関連のブックマーク


      CakePHP最新版
      CakePHP 1.2.3.8166


      CakePHPの書籍

      CakePHPによる実践Webアプリケーション開発

      CakePHP1.2で作成する人にオススメ。
      とても参考になります。

      まるごとPHP!(vol.2)

      安藤さんの解説が載っています。
      AmazonのPagination部分は参考になります。

      CakePHPによるWebアプリケーション開発

      まだ読んだことありません

      CakePHPポケットリファレンス
      CakePHPポケットリファレンス
      CakePHP1.2 でやるなら、これがあると何かと便利♪

      CakePHP徹底入門
      CakePHP徹底入門
      CakePHP1.2 を今から始めるならここから

      Fast CakePHP
      Fast CakePHP
      シンプルでわかりやすい CakePHP の入門書

      CakePHPガイドブック
      CakePHPガイドブック
      CakePHP1.1 ではとても参考にした CakePHP 最初の入門書

      アーカイブ

       RSS2.0

      powered by
      b2evolution
      ブログ一六社

      Geo Visitors Map