ポストフィルタ

ポストフィルタは、テンプレートが コンパイルされた後に 実行される PHP ユーザ定義関数です。ポストフィルタを使用するには、登録 が必要となります。

Simplate は内部でユーザ定義関数の第 1 パラメータにコンパイルされたテンプレートのソースコードを渡すので、関数内で処理を行った後にその結果のソースコードを戻り値として返すようにします。

例. ポストフィルタを使用する
  1. <?php
  2. // このユーザ定義関数をアプリケーションに加えます
  3. function add_header_comment($tpl_source)
  4. {
  5. return "<?php echo \"<!-- Created by Smarty! -->\n\"; ?>\n" . $tpl_source;
  6. }
  7. // ポストフィルタを登録します
  8. $simplate->register_postfilter('add_header_comment');
  9. $simplate->display('index.tpl');
  10. ?>

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

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

register_postfilter() および プリフィルタ も参照してください。