Prestashop 1.7-向子主题添加自定义挂钩

Prestashop 1.7-向子主题添加自定义挂钩,prestashop,prestashop-1.7,Prestashop,Prestashop 1.7,如何修改子主题的挂钩?我使用经典主题作为父母 这是子主题的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:

如何修改子主题的挂钩?我使用经典主题作为父母

这是子主题的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标记-{hook h='newHook'}。顺便说一下,我还必须复制image_types数组,否则会出现错误-我也必须复制它吗?有点多余

问题是-模板根本不会改变。在“管理”面板的“位置”页面中,还列出了所有旧挂钩

我试图将shop设置为classic template,然后将其设置回child one以重新加载,但没有起到任何作用。我还使用了重置为默认值按钮

我还试图修改父主题的theme.yml,也没有改变任何东西

实施:

我检查了ps_hook db表,新的hook在那里。但正如您在上面的配置中所看到的,语言选择器应该出现在其中。但事实并非如此。它也出现在“位置管理”页面上,但仅当我选中“显示非位置挂钩”时才会出现

而且-它不会在父主题上工作-任何分配给新钩子的模块都不会出现。修改旧挂钩效果很好。

我找到了解决方案

似乎前端显示的每个钩子都需要以display开头的名称。我的不是那样的