模板的后置过滤器是当模板被编译后时执行的PHP函数。
后置过滤器可以通过注册过滤器来调用,
或者放置到插件目录中,用
loadFilter()
函数或者
设置
$autoload_filters
来调用。
Smarty把编译后的代码作为第一个参数传递到函数中,并期待函数返回经过处理的代码。
Example 17.12. 使用后置过滤器
<?php // 在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'); ?>
上面的后置过滤器把编译后的index.tpl
的代码变成这样:
<!-- Created by Smarty! --> {* rest of template content... *}
参见
registerFilter()
,
前置过滤器,
输出过滤器,
和
loadFilter()
.