Twig 细枝嵌入块在循环中时不工作?

Twig 细枝嵌入块在循环中时不工作?,twig,Twig,我需要在我的页面中放置一个细枝模板,然后在其中放置另一个细枝模板 在page.twig中: {% embed "parent.twig" %} {% block something %} {% include "child.twig" %} {% endblock %} {% endembed %} 在parent.twig中: {% set array = ['', '', ''] %} <div class="parent"> {% for i in

我需要在我的页面中放置一个细枝模板,然后在其中放置另一个细枝模板

在page.twig中:

{% embed "parent.twig" %}
  {% block something %}
    {% include "child.twig" %}
  {% endblock %}
{% endembed %}
在parent.twig中:

{% set array  = ['', '', '']
%}
<div class="parent">
    {% for i in array %}
      <div class="parent__item">
        {% block cardBoard %}
        {% endblock %}
      </div>
    {% endfor %}
</div>
{%set数组=['','','']
%}
{数组%中的i的%1}
{%block carboard%}
{%endblock%}
{%endfor%}

问题是,当块在循环中时,它不工作。我可以随心所欲地编辑page.twig,但如果可能的话,我宁愿不更改parent.twig,因为它会被其他应用程序使用

为什么要在for循环中放置块?不能使用相同的名称定义两个块。 在您的情况下,它将尝试将此内容放入模板中3次:

  <div class="parent__item">
    {% block cardBoard %}
    {% endblock %}
  </div>

{%block carboard%}
{%endblock%}
这将创建一个500服务器错误: 块“Car纸板”已在第“”行的:parent.twig中的第“”行定义

如果确实希望根据数组中的值生成内容,请将块的开头和结尾放在for循环之外。 例如:

{% set array  = ['', '', '']%}
<div class="parent__item">
    {% block cardBoards %}
       {% for i in array %}
           <div class="cardBoard{{ i }}>
           </div>
       {% endfor %}
    {% endblock %}
</div>
{%set数组=['','']}
{%block cardBoards%}
{数组%中的i的%1}

为什么要在for循环中放置一个块?不能使用相同的名称定义两个块。 在您的情况下,它将尝试将此内容放入模板中3次:

  <div class="parent__item">
    {% block cardBoard %}
    {% endblock %}
  </div>

{%block carboard%}
{%endblock%}
这将创建一个500服务器错误: 块“Car纸板”已在第“”行的:parent.twig中的第“”行定义

如果确实希望根据数组中的值生成内容,请将块的开头和结尾放在for循环之外。 例如:

{% set array  = ['', '', '']%}
<div class="parent__item">
    {% block cardBoards %}
       {% for i in array %}
           <div class="cardBoard{{ i }}>
           </div>
       {% endfor %}
    {% endblock %}
</div>
{%set数组=['','']}
{%block cardBoards%}
{数组%中的i的%1}

你想干什么?预期的结果是什么?你想做什么?预期的结果是什么?