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函数。
后置过滤器可以通过注册过滤器来调用,
或者放置到插件目录中,用
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()
.