Mar*_*s C 5 templates symfony twig shopware
目前我正在为 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 %}
Run Code Online (Sandbox Code Playgroud)
使用此符号不会加载任何内容。将 sw_extends 替换为 extends,加载文件。
在版本 6.1.6 中它可以工作,但在当前的 6.2.2 中不行。在我的 theme.json 中,我的视图如下所示:
"views": [
"@Storefront",
"@Plugins",
"@Themename"
],
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助和建议。
马库斯
小智 4
我测试了一下,看来这是一个命名冲突。因为自定义的名称layout/header/header.html.twig与核心主题中的名称相同,所以它会同时被覆盖和包含。当我在同一目录下创建同名文件时,默认情况下它将覆盖核心文件。在示例中,它也包含在另一个自定义模板中。但是,当我将其重命名为“自定义标头”并将其包含为“自定义标头”时,它就可以工作。
当自定义主题的“header.html.twig”扩展核心“header.html.twig”时,也可以根本不包含它。因为base_header上例中的块在核心模板中看起来基本相同。layout/header/header.html.twig可以通过在自定义主题中添加 来覆盖标题。标头本身的包含已经发生在核心“base.html.twig”中