Php 包含细枝过滤器的模板
我想做这样的事情:Php 包含细枝过滤器的模板,php,twig,template-engine,Php,Twig,Template Engine,我想做这样的事情: {{ include("tpl.html")|f }} 但这似乎不起作用,它只是在没有任何过滤的情况下打印tpl.html,然后我尝试: {% filter f %} {% include "tpl.html" %} {% endfilter %} 它成功了。我只是想知道,为什么我不能用短一点的?我误解了什么吗? 提前谢谢。很抱歉这么久才回来:-) 事实上,include函数写入模板 如果您这样做: {% set s = include('FuzHomeBundl
{{ include("tpl.html")|f }}
但这似乎不起作用,它只是在没有任何过滤的情况下打印tpl.html
,然后我尝试:
{% filter f %}
{% include "tpl.html" %}
{% endfilter %}
它成功了。我只是想知道,为什么我不能用短一点的?我误解了什么吗?
提前谢谢。很抱歉这么久才回来:-) 事实上,
include
函数写入模板
如果您这样做:
{% set s = include('FuzHomeBundle:Default:test.html.twig') %}
它不应该显示某些内容,您将获得文件输出的内容,并且s
变量将设置为null
如果您这样做:
{% filter upper %}
{% include 'FuzHomeBundle:Default:test.html.twig' %}
{% endfilter %}
或
filter
标记将编译一些控制输出缓冲区的代码。要在代码段上应用过滤器,必须用filter标记将其包装:
{% filter f %}
...
{% endfilter %}
您最初尝试的是过滤twig中由双括号定义的变量:
{{ variable name|filter }}
要阅读更多信息,请查看有关过滤器的细枝文档No,我想对整个输出应用降价过滤器No。或者这听起来很愚蠢?无论如何,我想说,这不是转义,而是任何过滤器。
{{}
接受一个表达式,不一定是一个变量。在OP的例子中,过滤函数调用就是表达式,这里没有错误。你找到了一个更简单的方法吗?还是使用{%filter%}
仍然是最好的方法?
{{ variable name|filter }}