以前、CakePHPでrender関数をオーバーライドして
自動的に携帯テンプレートを振り分ける方法を紹介した。
それにも関連するが、追加のプログラムを紹介。
|php|
function _mb_render() {
$this->layout = 'mobile';
$output = $this->render();
$contents = mb_convert_encoding($this->output, 'SJIS', 'UTF-8');
echo $contents;
exit;
}
||
例えば上記は明示的に携帯サイトの出力を行ないたい場合などに便利。
最近のrender関数は返り値で出力内容を返してくれるようなので、
上記だけで全部済んでしまう。
mobileのlayoutのメタタグにはshift_jisと書いておく必要はあるが、
基本的に全部プログラムはテンプレートはutf-8で作ることが出来る。
(ただし、別途GETやPOSTの取得は手動でshift_jisからutf-8に変更したりは必要)
他にも、上記の方法を使ったりrender関数をオーバーライドしたりすることで、
携帯サイトだけでなくPC側のopensocial用のプログラムなどにも利用出来る。
|javascript|
{
'html' : $output,
'parameters' : $parameters,
}
||
みたいな感じのjsonを出力すれば
アプリケーション側では受け取ったhtmlをそのままinnerHTMLにいれるだけで
楽にアプリが作成可能。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント