Ryusuke Fuda's Tech Blog

Softweare Enginier about Web, iOS, Android.

cakephp2.x スマホ view切り替え

Controllerは一緒でviewだけ変えたい。

cakephpのテーマという昨日を使う

cd View
mkdir Themed
cd Themed
mkdir Smartphone //テーマ名
cd Smartphone
mkdir Films //Viewにあるのと同じ
vim top.ctp //適当な文字列"test"をうつ

規則にしたがってディレクトリ作成。
Themedの中はViewの中と同じ構成にする。

■ Controller/AppController.php

class AppController extends Controller {

    function beforeFilter()
    {
    //cakephpにあるRequestHandlerComponentにisMobile()というメソッドでスマホからかチェック
        if ($this->request->is('mobile')) {
            $this->theme = 'Smartphone'; 
        }
    }
}

■ Controller/FilmsController.php

App::uses('AppController', 'Controller');

class UsersController extends AppController {
    function index(){
    }
}

スマホからアクセスしてみる。
testが表示される。

参考)
http://weble.org/2012/04/30/cakephp-2-1-jquery-mobile

http://www.polidog.jp/2013/07/12/cakephp%E3%81%A7%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%83%95%E3%82%A9%E3%83%B3%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E5%88%A4%E5%AE%9A%E3%81%99%E3%82%8B/

http://book.cakephp.org/2.0/ja/views/themes.html

http://www.matomater.com/674/