跳至内容

{setfilter}

{setfilter}...{/setfilter} 块位标签允许定义模板实例变量过滤器。

语法: {setfilter filter1\|filter2\|filter3\....}\...{/setfilter}

过滤器可以是

  • 通过名称指定的可变过滤器插件。

  • 通过名称指定的修饰符和可选附加参数。

{setfilter}...{/setfilter} 块位可以嵌套。内部块的过滤器定义将替代外部块的定义。

模板实例过滤器与其他修饰符和过滤器一起运行。它们按以下顺序运行:修饰符、默认修饰符、$escape_html、已注册的可变过滤器、自动加载的可变过滤器、模板实例的可变过滤器。在默认修饰符之后的任何内容都可以通过 nofilter 标志禁用。

注意

设置模板实例过滤器不会影响已包含子模板的输出。

示例

<script>
    {setfilter filter1}
      {$foo} {* filter1 runs on output of $foo *}
      {setfilter filter2|mod:true}
        {$bar} {* filter2 and modifier mod runs on output of $bar *}
      {/setfilter}
      {$buh} {* filter1 runs on output of $buh *}
    {/setfilter}
    {$blar} {* no template instance filter runs on output of $blar}
</script>