2 回答
TA贡献1786条经验 获得超11个赞
由于@DarkBees 的回答进一步调查后,我遇到了嵌入功能,这正是我在这种情况下所需要的。所以扩展模板变成了这样:
{% block menu %}
{% embed 'menu.twig'%}
{% block menu_country %}
{% include 'menu-country.twig' with { menu_country: menu_ap_countries } %}
{% endblock %}
{% endembed %}
{% endblock %}
通过嵌入,我可以覆盖里面的块menu.twig
TA贡献1836条经验 获得超13个赞
包括模板并不意味着您正在模板中导入所述块。这意味着只有块menu将存在于内部child.twig。
在您的第一个示例中,您实际上只是覆盖该块menu并在其中创建一个新块menu_country。
在您的第二个示例中,您twig要输出块的默认内容menu并向其附加一个新块menu_country。
一个可能的解决方案是将设置更改为此,例如
菜单.twig
<header>
<div>
{% block menu_main %}
{% include 'menu-main.twig' %}
{% endblock %}
{% block menu_country %}
{% include 'menu-country.twig' %}
{% endblock %}
</div>
</header>
菜单国家.twig
<ul class="country">
{% for country in menu_country|default(dropdownland) %}
<li><a href="#">{{ country }}</a></li>
{% endfor %}
</ul>
孩子.twig
{% extends "base.twig" %}
{% block menu %}
{% include 'menu.twig' with { menu_country: menu_ap_countries, } %}
{% endblock %}
- 2 回答
- 0 关注
- 76 浏览
添加回答
举报