我需要的是在任何模板中将文本块附加到相同的名称,最后打印它的值。
到目前为止我所拥有的。
在儿童模板中:
{% set tmp %}
...some text...
{% endset %}
{% set capture = capture|default([])|merge([tmp]) %}
在父级(主要布局)中:
{{ capture|default([])|join|raw }}
{# it works in the same template but not in parent #}
我知道这很丑陋,但如果有效的话仍会很高兴。
理想情况下,我想扩展一下这样的工作:
{% capture %}
...some text...
{% endcapture %}
{# to capture #}
{% capture() %}
{# to print #}
但我见过的文档(http://twig.sensiolabs.org/doc/advanced.html)没有帮助。
我不知道应该选择哪种类型的扩展,进行实际的数据操作,如何访问和附加数据。
我可以使用哪种现有扩展作为基础?
答案 0 :(得分:0)
无法访问sf config中设置的Twig全局变量。
因此创建了2个Twig函数:一个用于追加内容,另一个用于获取缓冲的内容。
将twig扩展类属性用作“global var”,因为容器参数已被锁定。
用法: