后处理过滤器 {/programmers/advanced-features/.postfilters}
模板后处理过滤器是 PHP 函数,你的模板在编译后会通过它们进行处理。后处理过滤器可以通过注册或使用loadFilter()函数从插件目录加载,或者通过设置$autoload_filters变量来实现。Smarty 会将编译后的模板代码作为第一个参数传递,期望函数返回处理的结果。
<?php
// 在你的应用程序中添加这段代码
function add_header_comment($tpl_source, Smarty_Internal_Template $template)
{
return "<?php echo \"<!-- Created by Smarty! -->\n\"; ?>\n".$tpl_source;
}
// 注册后处理过滤器
$smarty->registerFilter('post','add_header_comment');
$smarty->display('index.tpl');
?>
上述后处理过滤器会使编译后的 Smarty 模板index.tpl看起来像这样:
<!-- Created by Smarty! -->
{* 模板内容的其余部分... *}
参见 registerFilter()、预处理过滤器、输出过滤器 以及 loadFilter()。