Prestashop中的钩子是什么?任何人都可以解释它是如何工作的,它会抛出图形表示形式。我是PS的新手,我不知道它的工作原理,也无法在其中传递变量。是否有任何技巧可以选择写钩子。
答案 0 :(得分:3)
在PrestaShop中,您有两种钩子:
Display
-挂钩:您可以将它们视为位置,可以在其中放置设计元素,例如来自模块的位置。假设您要在页脚中放置横幅。然后将该模块“移植”到displayFooter
,或选择一个使用所需钩子的模块。Action
-挂钩:您可以将它们视为您希望采取行动的时机。假设您要乞求客户重新考虑是否从购物车中删除了某个项目,然后在actionObjectProductInCartDeleteAfter
处添加了弹出窗口或其他内容,或者选择了使用所需钩子的模块。如何在您说的模块中使用挂钩?
注册钩子(大部分时间在安装过程中完成),如下所示:
public function install()
{
return parent::install()
&& $this->registerHook('displayFooter');
}
然后创建一个实际的钩子函数:
public function hookDisplayFooter($params) {
dump($params); // Gives an overview of some available params.
return 'Hello world';
}
最后的钩子在这样的模板中执行:
{hook h='displayFooter'}
您还可以像这样从控制器执行钩子:
Hook::exec($hook_name, $hook_args);
更多信息可以在PrestaShop DevDocs中找到: https://devdocs.prestashop.com/1.7/modules/concepts/hooks/
答案 1 :(得分:0)
PrestaShop中的挂钩处理主题开发。它们对于将模块插入主题非常重要。在PrestaShop官方文档中,您可以找到list of basic hooks。
要创建自己的钩子,请转到主题的目录,例如/ themes / classic /,然后在template /文件夹中选择所需的模板。例如,您可以选择位于/themes/classic/templates/_partials/header.tpl的网站标题模板。借助{hook h ='MyCustomNameHooks'}构造,将钩子添加到模板的标头:{hook h ='MySocialListHeader'}。有关创建钩子的详细信息,请参见here。
如果您想知道如何在PrestaShop 1.7中使用自定义钩子,请read this。我们在其中包含了视频说明,因此将更易于理解如何管理钩子。