创建新插件时如何为theme.json添加自定义Logo?
自定义插件中Logo路径配置问题解决指南
已尝试的无效路径
先后测试了以下路径,但均未成功加载Logo:
app/storefront/src/assets/logo.svgapp/storefront/public/bundles/logo.svgapp/storefront/dist/assets/logo.svg
父主题使用的app/storefront/dist/assets/logo/demostore-logo.png路径,在自定义插件环境下同样无法生效,且已查阅官方文档仍未解决问题。
可行解决方案
正确存放插件资源
将Logo文件放置在自定义插件的专属资源目录:<你的插件目录>/src/Resources/app/storefront/assets/logo.svg配置插件覆盖Logo路径
在插件的src/Resources/app/storefront/src/main.js中添加资源导入与配置:import './assets/logo.svg'; // 覆盖主题默认Logo配置 Shopware.State.commit('theme/setThemeConfig', { key: 'core.logo.path', value: 'bundles/<你的插件标识>/logo.svg' });或者通过YAML配置文件(
src/Resources/config/packages/shopware.yaml)全局设置:shopware: theme: config: core.logo.path: 'bundles/<你的插件标识>/logo.svg'编译并部署资源
执行以下命令完成资源编译与安装,确保资源被正确同步到公共目录:# 安装插件资源 ./bin/console assets:install # 编译主题与插件资源 ./bin/console theme:compile
核心注意点
- 自定义插件无法直接使用父主题的资源路径,必须通过自身资源目录管理静态文件。
- 编译后可检查
public/bundles/<你的插件标识>/目录,确认Logo文件是否存在,路径是否与配置一致。
内容的提问来源于stack exchange,提问作者Ruslan Bei
相关产品推荐
相关产品推荐

