2

我需要在页面顶部显示一个值,在页面中间运行一些 Twig 循环后需要更新该值。

这是一个例子:

<div>Total Amount: {{ totalAmount }}</div>
{% for product in products %}
    {% set totalAmount = totalAmount + product.amount %}
{% endfor %}

我可以在 Symfony 控制器中计算值,但出于某些原因,我更喜欢在 Twig 模板中执行此操作。

Twig 可以实现上述目标吗?我确定 Twig 代码是按顺序执行的,我可能必须找到不同的解决方案。但我想看看是否有人有任何建议。

谢谢,

JB

4

1 回答 1

4

使用块。

在您的主模板(布局)中:

<div>Total Amount: {% block totalAmount %}{% endblock %}</div>

在您的子模板中:

{% for product in products %}
    {% set totalAmount = totalAmount + product.amount %}
{% endfor %}

{% block totalAmount %}{{ totalAmount }}{% endblock %}
于 2012-06-30T20:04:29.420 回答