У меня есть ситуация, когда мне нужно include
файл шаблона внутри другого шаблона и вывести его в цикле for
.Однако у меня проблема в том, что он выводится в контейнер, и мне нужен только один контейнер для рендеринга, но мне нужен включенный шаблон для рендеринга на всех итерациях цикла.
{% for details in array %}
{% set data_details %}
{{ include('data.html.twig') }}
{% endset %}
<!-- Other HTML needed in the loop -->
{% if loop.first %}
<tr class="table-row">
<td>
{{ data_details | raw }}
</td>
</tr>
{% endif %}
{% endfor %}
Как вывидно, {% if loop.first %}
предотвращает повторение контейнера.Но мне нужно data.html.twig
, чтобы зацикливаться на каждой итерации и добавлять HTML-код к переменной data_details
, но эта переменная содержит только последнюю итерацию.Я не настолько хорошо осведомлен о Твиге, так что, возможно, я поступаю неправильно.Документация гласит, что если вы что-то обернете в set
, это «захватит» вывод, но по какой-то причине этого не происходит.