{setfilter}
{setfilter}...{/setfilter}块标签允许定义模板实例的变量过滤器。
语法:{setfilter filter1\|filter2\|filter3\....}\...{/setfilter}
过滤器可以是:
-
通过其名称指定的变量过滤器插件。
-
通过其名称和可选的额外参数指定的修饰符。
{setfilter}...{/setfilter}块可以嵌套。内部块的过滤器定义会替换外部块的定义。
模板实例过滤器除了其他修饰符和过滤器外还会运行。它们按以下顺序运行:修饰符,default_modifier,$escape_html,注册的变量过滤器,自动加载的变量过滤器,模板实例的变量过滤器。default_modifier 之后的所有内容都可以用nofilter标志禁用。
注意
设置模板实例过滤器不会影响包含的子模板的输出。
示例
<script>
{setfilter filter1}
{$foo} {* filter1 在 $foo 的输出上运行 *}
{setfilter filter2|mod:true}
{$bar} {* filter2 和修饰符 mod 在 $bar 的输出上运行 *}
{/setfilter}
{$buh} {* filter1 在 $buh 的输出上运行 *}
{/setfilter}
{$blar} {* 没有模板实例过滤器在 $blar 的输出上运行 *}
</script>