如何在 prestashop 1.7 中向 cms 页面添加挂钩
Posted
技术标签:
【中文标题】如何在 prestashop 1.7 中向 cms 页面添加挂钩【英文标题】:how to add hooks to cms pages in prestashop 1.7 【发布时间】:2018-05-01 10:40:51 【问题描述】:我正在发现 PrestaShop 1.7 并尝试将模块添加到特定的 CMS 页面。
但是,CMS 页面不允许我运行任何 smarty 代码,这意味着我无法调用任何挂钩。
我通常会添加什么来将模块放在某个地方:
hook h='displayMyhook'
我见过 1.6 的解决方案,但它们都围绕着编辑“CMS.tpl”,这在 1.7 中似乎不存在。
有人可以提出解决方案吗?
【问题讨论】:
nemops.com/how-to-hooks-prestashop-cms/#.WhKfeVWWbIU 【参考方案1】:钩子创建:
public function install()
return parent::install()
&& $this->registerHook('diplayAccessoryExtraProduct')
&& $this->registerHook('displayModalContent');
您可以使用您选择的名称创建一个挂钩:displayMyNewHook
在(任何)tpl 文件中显示挂钩:
block name='diplayAccessoryExtraProduct'
hook h='diplayAccessoryExtraProduct' id_product=$product.id_product mod="mymodule"
/block
或(函数没有价值)
block name='diplayAccessoryExtraProduct'
hook h='diplayAccessoryExtraProduct' mod="mymodule"
/block
模块中的功能:
public function hookDiplayAccessoryExtraProduct($params)
$accessories = $this->getAccessories((int)$params['id_product']);
$this->context->smarty->assign(array(
'accessories_custom' => $accessories,
)
);
return $this->display(__FILE__, 'views/templates/front/accessory.tpl');
public function getAccessories($id_product)
// Code
return $result;
这是我开发的模块的真实示例。
【讨论】:
以上是关于如何在 prestashop 1.7 中向 cms 页面添加挂钩的主要内容,如果未能解决你的问题,请参考以下文章