如何将一个块移动到另一个块
How to move a block into another block
在 @Storefront/storefront/base.html.twig
中定义了块 base_header
和 base_navigation
。我想将 base_navigation
移动到 base_header
以实现这样的标记:
<header>
<div class="header-main">
<!-- base_header_inner -->
</div>
<div class="nav-main">
<!-- base_navigation_inner -->
</div>
</header>
我已经尝试过以下方法:
{% sw_extends '@Storefront/storefront/base.html.twig' %}
{% block base_header %}
<header>
<div class="header-main">
{% block base_header_inner %}
{{ parent() }}
{% endblock %}
</div>
{% block base_navigation %}
{{ parent() }}
{% endblock %}
</header>
{% endblock %}
但它并没有移动它,而是简单地在 header 中创建了一个新导航,但保留了原来的导航。
您可以清空 twig 文件中的块并使用块函数加载原始块(https://twig.symfony.com/doc/3.x/functions/block.html)
您的文件看起来像这样:
{% sw_extends '@Storefront/storefront/base.html.twig' %}
{% block base_header %}
<header class="header-main">
{% block base_header_inner %}
<div class="container">
hallo
{% sw_include '@Storefront/storefront/layout/header/header.html.twig' %}
</div>
{% endblock %}
{{ block('base_navigation', '@Storefront/storefront/base.html.twig') }}
</header>
{% endblock %}
{% block base_navigation %}
{% endblock %}
在 @Storefront/storefront/base.html.twig
中定义了块 base_header
和 base_navigation
。我想将 base_navigation
移动到 base_header
以实现这样的标记:
<header>
<div class="header-main">
<!-- base_header_inner -->
</div>
<div class="nav-main">
<!-- base_navigation_inner -->
</div>
</header>
我已经尝试过以下方法:
{% sw_extends '@Storefront/storefront/base.html.twig' %}
{% block base_header %}
<header>
<div class="header-main">
{% block base_header_inner %}
{{ parent() }}
{% endblock %}
</div>
{% block base_navigation %}
{{ parent() }}
{% endblock %}
</header>
{% endblock %}
但它并没有移动它,而是简单地在 header 中创建了一个新导航,但保留了原来的导航。
您可以清空 twig 文件中的块并使用块函数加载原始块(https://twig.symfony.com/doc/3.x/functions/block.html)
您的文件看起来像这样:
{% sw_extends '@Storefront/storefront/base.html.twig' %}
{% block base_header %}
<header class="header-main">
{% block base_header_inner %}
<div class="container">
hallo
{% sw_include '@Storefront/storefront/layout/header/header.html.twig' %}
</div>
{% endblock %}
{{ block('base_navigation', '@Storefront/storefront/base.html.twig') }}
</header>
{% endblock %}
{% block base_navigation %}
{% endblock %}