ケータイサイト用 Smartyプラグイン
2006/07/15 23:08
ケータイ対応を含んだ案件がいくつか来ているので、定型の対応内容をSmartyプラグインで対応してみた。以下、備忘録。
<?php
/**
* ケータイ向け出力フィルタ
*
* @author 小石達也 <tkoishi@b-shock.co.jp>
* @copyright (c)b-shock. co., ltd.
* @version $Id: outputfilter.mobile.php 157 2006-07-15 06:56:41Z pooza $
*/
function smarty_outputfilter_mobile ($source, &$smarty) {
$source = mb_convert_kana($source, 'kas');
$source = mb_convert_encoding($source, 'sjis');
return $source;
}
?>
上記のファイルを outputfilter.mobile.php という名前で保存し、Smartyプラグインのディレクトリに置く。また、Smartyのインスタンスに対して以下の処理を実行しておく。
$smarty->load_filter('output', 'mobile');
「原則的にSJISで出力」とか「カタカナは半角で」とか、ケータイ対応のごく基本的なセオリーにはかろうじて対応しているけど、絵文字対応とかが全く入っていないので、要検討。
上のプラグインは「出力時フィルタ」だけど、これ以外にも「プレフィルタ」「ポストフィルタ」がある。(それぞれ、テンプレートのコンパイル前とコンパイル後に実行される)
「ポストフィルタ」と「出力時フィルタ」がよく似ているので、実行されるタイミングの微妙な違いに注意。
