cakePHPで作成したサイトを携帯に対応させるためには、文字コードの問題に対応していかなければならないし、また、デフォルトのレイアウトも変更する必要ある。
CakePHPクッキングのページに有用な情報が掲載されていたので紹介したい。
CakePHPガイドブックでは、ヘルパーを使って対応していたが、うまくいかなかったので、紹介されている情報のようにappControllerで対応するとうまくいった。バージョンが1.1から1.2になって実装が一部異なっていることが原因だろうと思う。
cakePHPでPCと携帯で出力文字コードを変更する方法は1.1対応のサイトになっているが、入力データの文字変換の点は参考になる。1.2では次の通りとなる。
function beforeFilter(){
if (isset($this->params[‘prefix’]) && $this->params[‘prefix’] == ‘mobile’){
if (!empty($this->data)){
mb_convert_variables(‘UTF-8’, ‘Shift_JIS’, $this->data);
}
}
}
※ソースコードのスペースは全角スペースになっています。