Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

ポストフィルタ

ポストフィルタは、テンプレートが コンパイルされた後に 実行されるPHPユーザ定義関数です。ポストフィルタは、 登録する か、あるいは load_filter() 関数や $autoload_filters 変数によって プラグインディレクトリ から読み込みます。 Smarty は内部でユーザ定義関数の第1パラメータにコンパイルされたテンプレートのソースコードを渡すので、 関数内で処理を行った後にその結果のソースコードを戻り値として返すようにします。

Example 15.14. ポストフィルタを使用する


<?php
// このユーザ定義関数をアプリケーションに加えます
function add_header_comment($tpl_source, $smarty)
{
    return "<?php echo \"<!-- Created by Smarty! -->\n\"; ?>\n".$tpl_source;
}

// ポストフィルタを登録します
$smarty->registerFilter('post','add_header_comment');
$smarty->display('index.tpl');
?>

  

上のポストフィルタは、このようなコンパイル済みテンプレート index.tpl を作成します。


<!-- Created by Smarty! -->
{* 以下、残りのコンテンツ *}

  

registerFilter()プリフィルタアウトプットフィルタ および loadFilter() も参照ください。