我有一个带有变量'category'的模板。
在某些时候,我将此变量发送到嵌入式模板,如下所示:
{% embed "AtgpTrackerBundle:Ticket:/_list.html.twig" with {"table": table, "category": category} %}
此_list模板从defaultTable模板扩展:
{% extends "AtgpTrackerBundle::Table/_defaultTable.html.twig" %}
具有一些块:
<thead>
{% block tableHead %}
<tr>
//some code
</tr>
{% endblock tableHead %}
</thead>
<tbody id="{{ table.bodyId }}">
{% block tableBody %}
//some code
{% endblock tableBody %}
</tbody>
所以,在_list模板中,我使用'category'变量覆盖了一些块。
当我在tableHead块中使用类别时,一切正常。当我在tableBody中使用它时,我有“变量类别不存在”的异常。
触发我的是,当我尝试在tableBody块中转储类别时,它实际显示了!但我仍然有错误,指出我编写转储的行。
编辑以使我的问题更清楚:例如,如果我尝试覆盖上面的块,就像那样:
{% block tableHead %}
{{dump(category)}}
{{category}}
{% endblock %}
{% block tableBody %}
{{dump(category)}}
{{category}}
{% endblock %}
两个转储工作正常,但第二个发送异常“变量类别不存在”并且后面的行未被处理。我似乎只是不能使用tableBody块中的类别。
我无法弄清楚如何解释这种行为,这对我来说似乎很奇怪......