Shopware 6:使用 sw_include 时未加载 Twig 文件
Shopware 6: Twig files not loaded when using sw_include
目前我正在为 Shopwre 6 的主题苦苦挣扎。
在版本 6.2.2 中,我的主题中断并且不会加载任何包含的 twig 文件。
以下代码在我的 base.html.twig 主题文件中。
{% block base_header %}
<header class="header-main">
{% block base_header_inner %}
<div class="container">
{% sw_include '@Themename/storefront/layout/header/header.html.twig' %}
</div>
{% endblock %}
</header>
{% endblock %}
使用此表示法,不会加载任何内容。将 sw_extends 替换为 extends,加载文件。
在版本 6.1.6 中可以使用,但在当前的 6.2.2 中不能使用。在我的 theme.json 中,我的视图如下所示:
"views": [
"@Storefront",
"@Plugins",
"@Themename"
],
感谢您的帮助和建议。
马库斯
我测试了一下,好像是命名冲突。因为自定义 layout/header/header.html.twig
的名称与核心主题中的名称相同,所以它会同时被覆盖和包含。当我在同一目录下创建同名文件时,默认情况下它会覆盖核心文件。在示例中,它还包含在另一个自定义模板中。但是,当我将其重命名为例如“custom-header”并将其作为“custom-header”包含在内。
当自定义主题的“header.html.twig”扩展核心“header.html.twig”时,也可以完全不包含它。因为上例中的 base_header
块在核心模板中看起来基本相同。 header 可以通过在自定义主题中添加 layout/header/header.html.twig
来覆盖。 header 本身的包含已经在核心“base.html.twig”
中发生
目前我正在为 Shopwre 6 的主题苦苦挣扎。 在版本 6.2.2 中,我的主题中断并且不会加载任何包含的 twig 文件。
以下代码在我的 base.html.twig 主题文件中。
{% block base_header %}
<header class="header-main">
{% block base_header_inner %}
<div class="container">
{% sw_include '@Themename/storefront/layout/header/header.html.twig' %}
</div>
{% endblock %}
</header>
{% endblock %}
使用此表示法,不会加载任何内容。将 sw_extends 替换为 extends,加载文件。
在版本 6.1.6 中可以使用,但在当前的 6.2.2 中不能使用。在我的 theme.json 中,我的视图如下所示:
"views": [
"@Storefront",
"@Plugins",
"@Themename"
],
感谢您的帮助和建议。
马库斯
我测试了一下,好像是命名冲突。因为自定义 layout/header/header.html.twig
的名称与核心主题中的名称相同,所以它会同时被覆盖和包含。当我在同一目录下创建同名文件时,默认情况下它会覆盖核心文件。在示例中,它还包含在另一个自定义模板中。但是,当我将其重命名为例如“custom-header”并将其作为“custom-header”包含在内。
当自定义主题的“header.html.twig”扩展核心“header.html.twig”时,也可以完全不包含它。因为上例中的 base_header
块在核心模板中看起来基本相同。 header 可以通过在自定义主题中添加 layout/header/header.html.twig
来覆盖。 header 本身的包含已经在核心“base.html.twig”