2013年4月19日金曜日

[CakePHP] テーマの切り替え [Theme]

CakePHPにテーマという見た目を切り替える機能があることがわかった

以前の投稿でスマホ用ページを切り替える方法として、
    $this->view = $this->view . "_sp";
こんなやり方すればいいと思っていたが、このようなスマホ用ページを切り替えるような使い方をするときは、 テーマを使ったほうがいいと思い始めた

テーマの切り替え方は以下のようにすればいい
    $this->theme = "SmartPhone";

Viewフォルダは以下のように配置する
app/
  └ View/
      └ Themed/
           └ SmartPhone/ (テーマ名)
                  └ Hoge/ (コントローラ名)
                      └ index.ctp
                  └ Layouts/ (このテーマのレイアウトファイル)

Viewフォルダの下にThemedフォルダを作成し、その下にテーマ名(ここではSmartPhone)のフォルダを作成する
SmartPhoneフォルダの下には、通常、Viewフォルダの下に配置していたコントローラ毎のフォルダを作成し、スマホ用のビューファイルを入れて置く。
このテーマでレイアウトも変更したければ、Layoutsフォルダを作成し default.ctp などを入れておけばよい

というわけで、こんな感じでテーマを切り替えるといいのかな・・・・
 public function beforeFilter() {
     parent::beforeFilter();
     if (スマホ) {
         $this->theme = "SmartPhone";
     }
 }



0 件のコメント:

コメントを投稿