Prestashop 1.7 中的自定义挂钩

Custom Hooks in Prestashop 1.7

我尝试为滑块模块创建一个适用于 Prestashop 1.7.0.3 的自定义 Hook。我插入:

displaySlider: - ps_imageslider

在 theme.yml 块“挂钩”上的文件。 然后插入:

{if $page.page_name == 'index'} 
   {hook h='displaySlider'}
{/if} 

在 theme/templates/layouts/layout-both-columns.tpl 文件中 header 和 section id=”wrapper” 标签之间。根据这篇文章:Custom Hooks in Prestashop 1.7 一切正常,但当我尝试从后端更改滑块模块位置时,可用挂钩上未显示挂钩。

我今天也在处理同样的问题。

我成功让它出现了,这可能不是一个好方法,我希望它不是一个好方法,因为它很奇怪。

在你的 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

我希望有另一种方法来刷新此页面中的挂钩...

我花了很多时间寻找为什么我的自定义挂钩没有出现在前面,感谢提示。

为了改进流程,您可以在外观 > 主题和徽标中使用重置按钮。

这避免了激活另一个主题。

我看到我在 2 年前为接受的解决方案投票,但现在想出了一个更好的解决方案。 根据 Prestashop 1.7 hooks doc,你所要做的就是像任何其他正常人一样注册你的钩子,它会自动创建。所以粘贴如下内容:

$this->registerHook('displayAtSpecificPlace');

在你的模块中安装()并重新安装模块。

所以要明确一点。 在 Prestashop 中添加一个新的挂钩

  1. 在\themes\yourTheme\config\theme.yml中添加
 
    custom_hooks:
          - name: displayYourCustomHook
          - title: displayYourCustomHook
          - description: This is a Custom hook

  1. 在同一文件中,在 modules_to_hook 部分:
 displayYourCustomHook:
        - ps_moduleIwantoHook
        - ps_anotherModuleIwantToHook

  1. 在您的 .tpl 文件中您要添加挂钩的任何位置:
 
...
   {hook h='displayYourCustomHook'}
...
  1. 最后,您从后台将当前主题更改为不同的主题,然后保存。之后,您更改为之前的主题(您实际想要使用的主题),再次保存,您的挂钩应该可见。这样做的目的是“刷新”您的 Prestashop 网站可识别的挂钩。

这适用于 Prestashop 1.7.7