如何修改子主题的钩子?我以经典主题为父。
这是子主题的theme.yml:
parent: classic
name: steel
display_name: steel
version: 1.0.0
assets:
use_parent_assets: false
global_settings:
hooks:
modules_to_hook:
newHook:
- ps_languageselector
image_types:
cart_default:
width: 125
height: 125
scope: [products]
small_default:
width: 98
height: 98
scope: [products, categories, manufacturers, suppliers]
medium_default:
width: 452
height: 452
scope: [products, manufacturers, suppliers]
home_default:
width: 250
height: 250
scope: [products]
large_default:
width: 800
height: 800
scope: [products, manufacturers, suppliers]
category_default:
width: 141
height: 180
scope: [categories]
stores_default:
width: 170
height: 115
scope: [stores]
如您所见,我已经覆盖了父主题的hooks数组-删除了所有默认设置并添加了我创建的新主题。我还向tpl文件{hook h='newHook'}
添加了hook标记。 (顺便说一句,我还必须复制image_types数组,否则会出现错误-我也必须复制它吗?这有点多余)
问题是-模板完全不变。在管理面板的“位置”页面中,还列出了所有旧的挂钩。
我试图将shop设置为经典模板,然后将其设置为child子模板以“重新加载”它-没有帮助。我还使用了Reset to defaults
按钮。
我试图也修改父主题的theme.yml,也没有做任何更改。
启动:
我检查了ps_hook db表并找到了新的钩子。但是正如您在上面的配置中看到的那样,语言选择器应该出现在其中。但事实并非如此。它也出现在位置管理页面上,但仅当我选中“显示不可定位的挂钩”时才显示。
而且-它不适用于父主题-分配给新钩子的任何模块都不会出现。修改旧的钩子很好用。
答案 0 :(得分:0)
我找到了解决方法。
似乎前端上显示的每个钩子都必须具有以display
开头的名称。我的不是那样的。