嵌套树枝嵌入时我遇到了一些问题,特别是当两个嵌入都定义了相同的变量时 .
示例:表单布局中的简单代码摘录,包含字段集,一些行和输入元素(为清晰起见,删除了一些变量):
{% embed 'components/frmGroup' with {'id':'myFieldset'} %}
{% block main %}
{% embed 'components/frmRow' with {'id':'mySpecialFormRow'} %}
{% block main %}
{% include 'components/inpText' %}
...
{% endblock %}
{% endembed %}
{% embed 'components/frmRow' %}
{% block main %}
{% include 'components/inpText' %}
...
{% endblock %}
{% endembed %}
{% endblock %}
{% endembed %}
如您所见,frmGroup(fieldset)和frmRow(row)组件都可以使用变量 id
. 第一个frmRow嵌入很好,因为它定义了自己的id,问题出现在第二个frmRow中,它没有定义一个) . 但是当我查看输出的html代码时,我看到formrow带有#myFieldset,这是在frmGroup嵌入时设置的id . 不是我想要完成的:)
我试过玩“唯一”关键字,但这给了我一些非常奇怪的结果 . 我可以使用不同的变量名(frmGroupId和frmRowId),但感觉很蹩脚(并创建混乱),我也可以在第二个frmRow上显式定义和清空id,但是我必须记住在嵌套嵌入上定义的变量,也不漂亮 .
那么我该如何解决这个问题(可以在Twig中解决)?
1 回答
我尝试了你的例子,我得到了完全正常的结果:
使用_test.html.twig:
它回来了
唯一的想法我能想到你使用临时变量:
它回来了
我已经完成了枝条,我认为它不存在 .