Shopware 6:使用sw_include时未加载Twig文件

马库斯C

目前,我正在为Shopwre 6的主题苦苦挣扎。在6.2.2版中,我的主题已损坏,并且不会加载任何包含树枝文件的文件。

以下代码位于主题的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会加载文件。

在版本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上面示例中块在核心模板中看起来基本相同。标题可以通过layout/header/header.html.twig在自定义主题中添加来覆盖标头本身的包含已在核心“ base.html.twig”中进行

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章