CakePHP:携帯サイト開発続き

昨日の参考URLの情報を元に、携帯サイトの続きを行った。

http://cakephp.jp/modules/newbb/viewtopic.php?viewmode=flat&topic_id=751&forum=3

とりあえず、記録も登録できるようになったし、$this->Session->setFlash(‘登録しました’);の文字の文字化けもなくなった。ただし、すべてこの参考サイトの通りにやったわけではないので、一応自分なりに注意点を書いておきます。

  1. app_controller.phpのコンストラクタ
    if(ereg(“^/m/”, $_SERVER[‘REQUEST_URI’])){ …だが、
    ^/m/は、開発中には向かない場合がある。俺のように、phpmyadminを使う人は、おそらくhttp://localhost/cake/m/となっているんじゃないか?と思うが、その場合は、
    if(ereg(“^/cake/m/”, $_SERVER[‘REQUEST_URI’])){ …
    とする。もちろん、公開するときは修正必要なので注意!
  2. CakePHPガイドブックに従ってmobileヘルパーを作っている場合、afterRenderでmb_convert_encodingしていると、app_controller.phpのafterFilterメソッド内で文字コード変換済みなのでさらに文字化けするので注意。afterRenderをコメントアウトしてしまうとよい。

まあこれくらいかな?あとは、リンクにいちいちセッションをGETで引き渡さなければならないが、毎回のようにCAKE_SESSION_COOKIE . “=” . session_id()と書くのが、非常に面倒なので、mobileヘルパーに以下のようなメソッドを作ってみた。

function cake_session(){
return h(CAKE_SESSION_COOKIE) . "=" . h(session_id());
}

これを作っておくと、VIEWで、

<?php e($html->link('トップページ', '/?'. $mobile->cake_session())) ?>

と書けるので、なんとなく楽。


タグ CakePHP, 日記 | パーマリンク.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です