我尝试为滑块模块创建Prestashop 1.7.0.3的自定义Hook。我插入:
displaySlider:
- ps_imageslider
在block“hooks”上的theme.yml文件上。 然后插入:
{if $page.page_name == 'index'}
{hook h='displaySlider'}
{/if}
在标题和section id =“wrapper”标记之间的theme / templates / layouts / layout-both-columns.tpl文件中。根据这篇文章:Custom Hooks in Prestashop 1.7当我尝试从后端更改滑块模块位置时,一切都会正常工作,但钩子没有显示在可用钩子上。
答案 0 :(得分:4)
我今天在同一个问题上工作。
我成功地让它出现,这可能不是好方法,我希望它不是好方法,因为它很奇怪。
在你的theme.yml中,你必须像这样设置你的钩子:
global_settings:
hooks:
custom_hooks:
- name: displayFooterBefore
title: displayFooterBefore
description: Add a widget area above the footer
如果你想在位置页面看到你的钩子,你必须切换到另一个模板然后回到你的模板。 (刷新的种类)
您还可以查看Prestashop中不完整的文档: http://developers.prestashop.com/themes/hooks/index.html
我希望在这个页面中有另一种刷新钩子的方法......
答案 1 :(得分:1)
所以只是要清楚。在 Prestashop 中添加新钩子。
custom_hooks: - name: displayYourCustomHook - title: displayYourCustomHook - description: This is a Custom hook
displayYourCustomHook: - ps_moduleIwantoHook - ps_anotherModuleIwantToHook
... {hook h='displayYourCustomHook'} ...
这适用于 Prestashop 1.7.7
答案 2 :(得分:0)
我花了很多时间来寻找为什么我的自定义钩子没有出现在正面的原因,谢谢。
为了改进此过程,可以在外观>主题和徽标中使用重置按钮。
这避免了必须激活另一个主题。
答案 3 :(得分:0)
我看到我在 2 年前投票赞成接受的解决方案,但现在想出了一个更好的解决方案。 根据 Prestashop 1.7 hooks doc,您所要做的就是将您的钩子注册为任何其他普通钩子,它会自动创建。所以粘贴如下内容:
$this->registerHook('displayAtSpecificPlace');
在你的模块中 install() 并重新安装模块。