我在Prestashop 1.6中创建了一个新模块,它在信息框的产品页面上显示了一些数据。我在模块的安装方法中创建了一个新钩子:$this->registerHook('combinationDescription')
并创建了hookDisplayCombinationDescription
函数,用于分配一些smarty变量并使用tpl文件显示它们。 安装我的模块后,钩子被注册到数据库中,因此它可用。 手动我可以将代码插入到product.tpl文件中,就像:{hook h="hookDisplayCombinationDescription"}
,我认为它可以正常工作,但是我希望在安装模块时自动完成此步骤。我怎样才能做到这一点? 我的猜测是从模块的安装方法编辑product.tpl文件,但对我来说这有点脏。还有其他一些好方法可以做到吗?如何在prestashop的产品页面中插入模块
回答
如果你做了一个自定义的hook
你需要的地方手动插入其执行:为.tpl
或进入overrided ProductController.php
(如果它是一个行动挂钩)。 Prestashop不能自动执行它,因为它不知道你想在哪里执行它。
但是,您可以使用默认的Prestashop 1.6挂钩使模块安装后您的代码部分被挂钩并准备就绪。对于产品页面是这些:
displayLeftColumnProduct
displayRightColumnProduct
displayProductTab
displayProductTabContent
displayFooterProduct
displayProductButtons
displayProductPriceBlock
actionProductOutOfStock
您可以使用这些挂钩之一,您的内容与css
位置(或javascript
- 到页面的任何部分)。
在我的情况下,现在我必须在产品信息框中显示内容(价格,标题,社交按钮等。 )被显示)。这部分没有挂钩。我怎样才能把我的钩子放在那里? – Ervin
如果你做任何自定义挂钩,那么你必须使其可执行first.Prestashop不能为产品页面上显示的一些数据执行自定义挂钩automatically.But您可以使用预定义的Prestashop hooks.Some是以下
displayProductButtons
displayProductTab
要使用这些挂钩,首先你必须在注册钩安装功能一样
public function install()
{
if (!parent::install() || !$this->registerHook('displayProductButtons')){
}
}
的d在同一文件中,你必须做出这样
public function hookDisplayProductButtons($params)
{
}
功能现在该功能可以在指定您的TPL文件,你要访问一些Smarty的变量或节目喜欢
public function hookDisplayProductButtons($params)
{
$this->smarty->assign(array(
'product_name' => 'abc'
));
}
现在您可以访问的tpl文件
如果您想添加新的自定义挂钩并在您的特定模块处于活动或安装状态时执行它们。
请按照下列步骤操作:
- 要执行你的行动任何你添加新的自定义hook代码。
- 然后,您可以在安装模块时将新的自定义挂接条目插入到数据库中。
- 现在,您的钩子将根据您的需要执行。
- 在卸载模块时删除与数据库相同的钩子条目,以便卸载模块后无法执行挂钩。
我不确定,是否有其他解决方案可以满足您在prestashop中的需求?
- 1. 在退房页面检索prestashop模块中的产品并放置模块
- 2. Prestashop产品审查模块
- 3. Prestashop模块:产品页上的产品类别
- 4. Prestashop产品页面错误
- 5. PrestaShop - 插入产品脚本
- 6. 产品页面Prestashop中的Smarty变量
- 7. 增加产品类型中添加的Prestashop产品页面
- 8. Prestashop产品每页
- 9. 如何在产品视图页面中显示特色产品pf prestashop
- 10. PRESTASHOP 1.5.3.1 - 查找产品图片模块
- 11. Prestashop产品编辑页新标签页模块
- 12. 重定向产品的页面分类的页面中的Prestashop
- 13. Prestashop:在html中手动插入模块
- 14. Prestashop:在产品清单/产品页面上添加单个产品属性
- 15. 在prestashop中添加从模块创建的产品的图像
- 16. Magento - 在产品信息页面上注入自定义模块
- 17. 如何在Prestashop中使用我自己的模块创建产品页面的新钩子
- 18. 如何在prestashop的后台模块中添加页面
- 19. 如何在OpenCart的“最新产品”模块中排除产品?
- 20. 通过Web服务在PrestaShop 1.6中插入产品时的ForceID
- 21. Prestashop模块页面url重写在htaccess
- 22. 如何通过prestashop中的特色产品块显示特色产品
- 23. 将XML产品导入Prestashop
- 24. 在Prestashop Wishlist模块中显示产品价格
- 25. Prestashop:产品在类别页面中显示错误价格,但在产品页面中显示错误
- 26. 的Prestashop 1.4 - 创建3个产品页面,而不是1产品页
- 27. prestashop的模块产品选项卡滑块
- 28. 如何编辑prestashop后台产品列表页面
- 29. serialScroll在Prestashop产品页面中不起作用
- 30. 从一个模块中创建的Prestashop产品
如果你想“自动添加”,你需要选择一个现有的HOOKS,并为其准备... :-)例如: 'displayProductButtons',真的只是希望主题开发人员聪明,不要删除默认钩子:-) –