Shopware 6插件覆写neti_store_locator_detail_config Twig块失败求助
解决Shopware中NetiNextStoreLocator插件Twig块覆写不生效的问题
你的覆写未生效核心原因是模板继承路径错误,以下是修正步骤:
1. 修正模板继承代码
将自定义插件中detail.twig的继承目标改为NetiNextStoreLocator插件的原模板,而非Shopware基础模板。修改后的代码如下:
{% sw_extends '@NetiNextStoreLocator/storefront/store_locator/detail.twig' %} {% block neti_store_locator_detail_config %} <div>It works!</div> {% endblock %}
说明:Shopware中覆写第三方插件的Twig模板时,必须继承该插件的对应模板文件,才能正确匹配并覆盖目标块,不能直接继承通用的
base.html.twig。
2. 确认目录结构正确性
确保自定义插件的模板路径与原插件完全匹配:custom/plugins/SwagStoreLocator/src/Resources/views/storefront/store_locator/detail.twig
该路径层级与原插件的vendor/store.shopware.com/netinextstorelocator/src/Resources/views/storefront/store_locator/detail.twig完全一致,符合Shopware的模板覆写规则。
3. 调整插件加载顺序
在Shopware后台的插件管理中,将自定义插件SwagStoreLocator移到NetiNextStoreLocator下方。Shopware按加载顺序优先级处理模板覆写,后加载的插件模板会覆盖先加载的插件模板。
4. 重新执行缓存与编译命令
依次执行以下命令确保修改生效:
bin/console cache:clear bin/console theme:compile
若前端仍未显示变化,可强制刷新浏览器缓存(Ctrl+F5)或执行
bin/console assets:install同步资源。
额外排查点
- 确认目标块名
neti_store_locator_detail_config拼写完全正确(包括大小写、下划线),与原插件模板中的块名一致。 - 检查自定义插件是否已在后台成功安装并启用,无安装报错。
内容的提问来源于stack exchange,提问作者smiady
相关产品推荐
相关产品推荐

