What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
ポストフィルタは、テンプレートが
コンパイルされた後に
実行される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()
も参照ください。