このマニュアルはSmartyのものです。セキュリティなどの問題でRCMSでは利用できないものもありますので、ご注意ください。
ポストフィルタポストフィルタ
ポストフィルタは、テンプレートが
コンパイルされた後に
実行されるPHPユーザ定義関数です。ポストフィルタは、
登録する
か、あるいは load_filter()
関数や
$autoload_filters 変数によって
プラグインディレクトリ から読み込みます。
Smarty は内部でユーザ定義関数の第1パラメータにコンパイルされたテンプレートのソースコードを渡すので、
関数内で処理を行った後にその結果のソースコードを戻り値として返すようにします。
例 15-3. ポストフィルタを使用する
<?php // このユーザ定義関数をアプリケーションに加えます function add_header_comment($tpl_source, &$smarty) { return "<?php echo \"<!-- Created by Smarty! -->\n\"; ?>\n".$tpl_source; }
// ポストフィルタを登録します $smarty->register_postfilter('add_header_comment'); $smarty->display('index.tpl'); ?>
|
上のポストフィルタは、このようなコンパイル済みテンプレート
index.tpl を作成します。
<!-- Created by Smarty! -->
{* 以下、残りのコンテンツ *} |
|
register_postfilter()、
プリフィルタ
および
load_filter()
も参照してください。