Module Prestashop 1.7中的自定义挂钩

Module Prestashop 1.7中的自定义挂钩,module,hook,prestashop-1.7,Module,Hook,Prestashop 1.7,我尝试为滑块模块的Prestashop 1.7.0.3创建一个自定义挂钩。我插入: displaySlider: -ps_图像滑块 在块“hooks”上的theme.yml文件上。 然后插入: {if $page.page_name == 'index'} {hook h='displaySlider'} {/if} 在header和section id=“wrapper”标记之间的theme/templates/layouts/layout-both-columns.tpl文件上。

我尝试为滑块模块的Prestashop 1.7.0.3创建一个自定义挂钩。我插入:

displaySlider:
-ps_图像滑块

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

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

在header和section id=“wrapper”标记之间的theme/templates/layouts/layout-both-columns.tpl文件上。根据本文:一切正常,但当我尝试从后端更改滑块模块位置时,可用挂钩上没有显示挂钩。

我今天正在处理同一问题

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

在你的theme.yml中,你必须这样设置你的钩子:

global_settings:
  hooks:
    custom_hooks:
      - name: displayFooterBefore
        title: displayFooterBefore
        description: Add a widget area above the footer

如果你想在位置页面看到你的钩子,你必须切换到另一个模板并返回到你的模板。(有点新鲜)

您还可以从Prestashop检查未完成的单据:


我希望有另一种方法可以刷新此页面中的钩子…

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

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


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

我知道我在两年前投票赞成接受的解决方案,但现在想出了一个更好的解决方案。 你所要做的就是将你的钩子注册为任何其他的普通钩子,它就会自动创建。因此,粘贴如下内容:

$this->registerHook('displayAtSpecificPlace');

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

谢谢。是的,我切换到另一个模板,然后回到我的模板,一切正常。我也相信这不是propper的方式,但正在发挥作用,因此感谢您提供的解决方案。“您必须切换到其他模板,然后再返回到您的模板”,这听起来像是您必须切换主题?我相信删除shop[n].json文件也可以实现同样的效果。唉,对我来说,这两个“把戏”都不会显示我的新钩子(