如何在Shopware 6.5.1中添加自定义字体?已尝试方法失效
Shopware 6.5.1 自定义字体添加解决方案
Shopware 6.5把前端构建工具从Webpack换成了Vite,这直接导致你之前6.4的方法失效,按下面步骤调整就能解决:
调整字体文件存放路径
把字体文件从customtheme/src/Resources/app/storefront/src/assets/font/移到customtheme/src/Resources/app/storefront/assets/fonts/(注意是直接在storefront下的assets目录,不是src子目录下的)。修改SCSS中的@font-face配置
原来的$app-css-relative-asset-path变量在Vite环境下不再生效,改用相对路径或者Vite的asset引用语法,比如在base.scss里写:@font-face { font-family: 'Myriad Pro'; font-style: normal; font-weight: 300; font-display: fallback; src: url('../assets/fonts/font.woff2') format('woff2'), url('../assets/fonts/font.woff') format('woff'); }这里的相对路径是基于SCSS文件所在的
storefront/src/scss目录往上找assets,路径要对应你实际的字体文件位置。替换默认字体变量
要让全站应用这个字体,在variables.scss或者base.scss里覆盖Shopware的默认字体变量:$font-family-primary: 'Myriad Pro', sans-serif;重新构建主题资源
执行构建命令让资源生效:./bin/build-storefront.sh如果是开发环境,用
./bin/watch-storefront.sh实时监听改动。
排查要点
- 检查字体文件名、路径的拼写(注意大小写,比如
fonts和font别搞混) - 构建后去
public/theme/customtheme/assets/fonts/确认字体文件是否被正确复制过去 - 浏览器强制刷新(Ctrl+F5)清缓存,再用开发者工具检查元素的
font-family是否已应用
内容的提问来源于stack exchange,提问作者hardy123480
相关产品推荐
相关产品推荐

