ケータイサイト用 Smartyプラグイン

ケータイ対応を含んだ案件がいくつか来ているので、定型の対応内容を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で出力」とか「カタカナは半角で」とか、ケータイ対応のごく基本的なセオリーにはかろうじて対応しているけど、絵文字対応とかが全く入っていないので、要検討。

上のプラグインは「出力時フィルタ」だけど、これ以外にも「プレフィルタ」「ポストフィルタ」がある。(それぞれ、テンプレートのコンパイル前とコンパイル後に実行される)
「ポストフィルタ」と「出力時フィルタ」がよく似ているので、実行されるタイミングの微妙な違いに注意。

トラックバック

コメント


コメントはすぐには反映しません。
ほぼ毎日チェックしていますが、翌日以降の反映となることもあります。

Twitter