- 2009/02/24 18:54
- CakePHP
CakePHPで携帯サイトを作るときのやり方メモです。
例として、
http://hogehoge.com/m/
というURLにアクセスした場合は携帯表示になるという感じです。
この場合、まず、routes.phpに携帯用のルーティングを足します。
app/config/routes.php
Router::connect('/m/:controller/:action', array('prefix' => 'mobile'));
これは、/m/でアクセスした場合、プリフィクスとして、「mobile」を付けるというものです。
続いてコントローラーですが、以下のようにします。
app/controllers/samples_controller.php
function mobile_test()
{
//通常のコントローラー
}
この場合、http://hogehoge.com/m/samples/test とアクセスすると、mobile_test()が実行されます。
Viewも同じように、以下のファイル名で作成します。
app/views/samples/mobile_index.ctp
で、携帯用にlayoutも変更します。
app/app_controller.php
function beforeRender()
{
if (isset($this->params['prefix'])) {
$this->layout = $this->params['prefix'] . '_' . $this->layout;
}
}
app/views/layout/にmobile_??.ctpと言うファイルを使います。
次に、携帯表示で必要な?半角カナへの変換、SJISコードへの変換もapp_controller.phpに追加します。
app/app_controller.php
function afterFilter()
{
parent::afterFilter();
if (isset($this->params['prefix'])) {
$this->output = mb_convert_kana($this->output, 'rak');
$this->output = mb_convert_encoding($this->output, 'SJIS-win', 'UTF-8');
}
}
と言う風にすることで実現できます。
たぶん・・・・
もっとまとめる必要があるかも、、、ま、とりあえず、メモということで(^^;)
- 参考URL
コメント:0
トラックバック:1
- この記事のトラックバック URL
- http://www.multiburst.net/sometime-php/2009/02/cakephp-mobile-site/trackback/
- トラックバックの送信元リスト
- [CakePHP] 携帯サイトの作り方まとめ - Sometime PHP より
- pingback - 携帯サイト作成のためにphp.iniを見直してみた - ElectronicBrain is eating BreakFast より 2009/02/27
[...] 先日、CakePHPで携帯サイトを作るやり方を書いたのだが、CakePHP内部では文字コードをSJIS-winに変換してくれるのだが、携帯で見てみると、どうしても文字化けしてしまう、という現象に陥 [...]






