【问题标题】:Capture and append in Twig在 Twig 中捕获和附加
【发布时间】:2014-05-08 02:25:06
【问题描述】:

我需要的是在任何模板中将文本块附加到相同的名称,最后打印它的值。

到目前为止我所拥有的。

在子模板中:

{% 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) 没有帮助。

我不知道我应该选择什么类型的扩展,实际数据操作在哪里进行,我如何访问和附加数据。

我可以使用哪些现有扩展作为基础?

【问题讨论】:

    标签: templates symfony twig


    【解决方案1】:

    甚至无法访问 sf config 中设置的 Twig 全局变量。

    因此创建了 2 个 Twig 函数:一个用于附加内容,另一个用于获取缓冲的内容。

    使用 twig 扩展类属性作为“全局变量”,因为容器参数被锁定。

    用法:

    1. 将内容设置为本地变量
    2. 将本地变量附加到全局变量
    3. 获取并打印原始全局变量内容

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-28
      • 1970-01-01
      • 1970-01-01
      • 2014-03-17
      • 2018-05-23
      • 1970-01-01
      • 2013-01-16
      • 2015-02-06
      相关资源
      最近更新 更多