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:
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]
如您所见,我已经覆盖了父主题的钩子数组 - 删除了所有默认值并添加了我创建的新主题。我还在 tpl 文件中添加了钩子标签 - {hook h='newHook'}
. (顺便说一句,我还必须复制 image_types 数组,否则会出错 - 我也必须复制它吗?有点多余)
问题是 - 模板根本没有改变。在管理面板的“职位”页面中,还列出了所有旧挂钩。
我尝试将商店设置为经典模板,然后将其设置回子模板以“重新加载”它 - 没有帮助。我也用过Reset to defaults
按钮。
我也尝试修改父主题的 theme.yml ,也没有改变任何东西。
实现:
我检查了 ps_hook 数据库表,发现有新的钩子。但是正如您在上面的配置中看到的那样,语言选择器应该出现在其中。但事实并非如此。它也出现在位置管理页面上,但只有当我选中“显示不可定位的钩子”时。
而且 - 它不适用于父主题 - 分配给新钩子的任何模块都不会出现。修改旧的钩子效果很好。
解决方案
我找到了解决方案。
似乎前端显示的每个钩子都需要以 . 开头的名称display
。我的不是那样的。
推荐阅读
- ansible-awx - Ansible AWX 额外变量到剧本
- c++ - 引发访问冲突的安全方法
- sql - 是否可以将单个列中的不同值分组到 SQL 中同一列中的一行中?
- sql - SQL 连接和与列数据相关的子查询
- yaml - 自定义包含的 gitlab-ci.yml 文件
- r - 了解 R 子空间包聚类输出
- msp430 - 在 MSP430 中控制电机速度
- java - 如何使用放心的计数器解析 JSON 对象响应?
- apache-poi - 当一个单元格通过分页分为两个单元格时,文本显示在带有 apache poi 的 docx 文档中的两个单元格中
- reactjs - 我的应用在 github 页面上部署后无法运行(create-react-app)