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 關注
- 105 瀏覽
添加回答
舉報