ポストフィルタは、テンプレートが コンパイルされた後に 実行される PHP ユーザ定義関数です。ポストフィルタを使用するには、登録 が必要となります。
Simplate は内部でユーザ定義関数の第 1 パラメータにコンパイルされたテンプレートのソースコードを渡すので、関数内で処理を行った後にその結果のソースコードを戻り値として返すようにします。
<?php
// このユーザ定義関数をアプリケーションに加えます
function add_header_comment($tpl_source)
{
return "<?php echo \"<!-- Created by Smarty! -->\n\"; ?>\n" . $tpl_source;
}
// ポストフィルタを登録します
$simplate->register_postfilter('add_header_comment');
$simplate->display('index.tpl');
?>
上のポストフィルタは、このようなコンパイル済みテンプレート index.tpl を作成します。
<!-- Created by Smarty! -->
<{* 以下、残りのコンテンツ *}>
register_postfilter() および プリフィルタ も参照してください。