如何在Sylius 1.9中自定义BitBagCmsPlugins插件的模板?
Sylius 1.9版本BitBagSyliusCmsPlugin模板覆盖失败解决方案
首先需要明确你当前路径配置存在两个常见错误,修正后即可正常覆盖:
- 插件命名错误:你使用的
BitBagCmsPlugins为错误命名,该插件正确的Bundle注册名称为BitBagSyliusCmsPlugin,无末尾的s,需包含Sylius字段 - 路径层级错误:主题下的Bundle模板目录应为复数
bundles,你使用的单数bundle无法被Sylius的模板加载机制识别
正确覆盖步骤
- 按照以下路径创建对应目录
themes/myTheme/templates/bundles/BitBagSyliusCmsPlugin/ - 保持自定义模板的目录层级和插件原模板完全一致,例如要覆盖插件原路径
Resources/views/Page/show.html.twig的模板,你的自定义文件路径应为:themes/myTheme/templates/bundles/BitBagSyliusCmsPlugin/Page/show.html.twig - 清空缓存后验证生效,执行命令:
php bin/console cache:clear
异常排查方案
如果修正路径后仍未生效,按以下步骤逐一排查:
- 确认你的主题已在
config/packages/sylius_theme.yaml中正确配置并启用,主题名称无拼写错误 - 检查自定义twig模板的继承语法是否正确,继承原插件模板时需使用正确的命名空间,示例:
{% extends '@BitBagSyliusCmsPlugin/Page/show.html.twig' %} - 若无需使用主题机制,可选择全局覆盖方案,将自定义模板放置在项目根目录的
templates/bundles/BitBagSyliusCmsPlugin/路径下即可 - 可在任意生效模板中加入
{{ dump(twig.loader.paths) }}打印twig加载路径,确认你的自定义路径是否被正常加载
内容的提问来源于stack exchange,提问作者Edouard Morineaux
相关产品推荐
相关产品推荐

