blogPHPでWEB+DBシステムの開発をやっています。2分45秒サイトにPC用と携帯用がある場合、PC用とは別に携帯用の表示を行う方法です。この方法なら同じコントローラ・アクションで、レイアウトとビューファイルを変更することができます。携帯版のURLは[/m/]で始まるようにします。1.URLルーティングを設定する。[app/config/routes.php]で[/m/]からURLが始まる場合にwebservicesとして扱うように設定します。'Mobile'));?>2.WEBSERVICESを有効にする。webservicesがフレームワーク内でサポートされるように設定を変更します。3.携帯用コンポーネント、ヘルパーを設置する。携帯用コンポーネント、ヘルパーを設置します。これは単に表示を変えるだけなら不要なのですが、1.でwebservicesとして動作するように設定しているので必須となります。Object{}?>4.携帯用レイアウト、ビューファイルを設置する。携帯用レイアウト、ビューファイルを[app/views/layouts/mobile][app/views/%controller_name%/mobile]に設置します。双方ともmobile/ディレクトリ以下に設置するのがミソです。これで[/post/index]にアクセスすればPC版のレイアウト・ビューファイルが、[/m/post/index]にアクセスすれば携帯版のレイアウト・ビューファイルが表示されるようになります。>>なぜwebservicesとして扱うか?CakePHPには一つのコントローラ、アクションでrssやxmlといった多種の出力形式をサポートする機能があります。これがWEBSERVICESです。前出のrssやxmlはフレームワークで定義されているのですが、携帯用と思われるものはありませんでした。そこでroutes.phpのルーティング情報に携帯用を定義する方法を取っています。この方法の良いところは、レイアウト・ビューファイルの切り替えはフレームワーク側でやってくれるのでコントローラ側では何も意識する必要が無い点です。悪い点はURLが[/m/~]になってしまう点でしょうか。URLが[/m/]ではじまるのが気になる場合は、mod_rewriteで携帯からのアクセスの場合は自動的に[/m/]へ飛ばす設定にしておく、という方法もありです。20:47app/config/routes.phpに設定したルートにはmobileの設定は適用されない。‘display’));と設定した場合app/views/main/mobile/home.thtmlを作ってもそれは表示されず、app/views/main/home.thtmlが表示されてしまう。ページが大変参考になります。サイトが共存しているときの携帯用のビューを表示させる方法は下記が参考になります。バッファをためて一括で変換しています。絵文字と一緒に全角カナも半角カナに直してしまいます。携帯用ビューを表示する」を使用して携帯のビューを切り替えているからです。