/ / Twig: Variável de atualização localizada anteriormente no código - php, symfony, twig

Twig: Variável de atualização localizada anteriormente no código - php, symfony, twig

Eu preciso mostrar um valor no topo de uma página, que precisa ser atualizado depois de executar alguns loops Twig no meio da página.

Aqui está um exemplo:

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

Eu poderia computar o valor no controlador do Symfony, mas há certas razões pelas quais eu preferiria fazer isso no modelo Twig.

O acima é possível com o Twig? Eu tenho certeza que o código Twig é executado sequencialmente e eu posso ter que encontrar uma solução diferente. Mas eu gostaria de ver se alguém tem alguma sugestão.

Obrigado,

JB

Respostas:

3 para resposta № 1

Use blocos.

No seu modelo principal (layout):

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

No seu modelo filho:

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

{% block totalAmount %}{{ totalAmount }}{% endblock %}