问题描述
我在 Prestashop 中实现了一个模块,用于在订单页面中添加一个字段。填写后,此字段将出现在购买帐单中。我的模块运行良好,直到 1.7.7.3 出现......现在没有显示。
现在我用一些示例代码替换了我的模块代码只是为了测试显示,但它也不起作用.. 有人可以解释一下是否有明显的错误或建议教程吗?
<?PHP
if (!defined('_PS_VERSION_'))
exit;
use PrestaShop\PrestaShop\Core\Payment\PaymentOption;
class PurchaSEOrder extends PaymentModule
{
public function install()
{
if ( parent::install()
&& $this->registerHook('displayAdminorder')
&& $this->registerHook('displayAdminorderLeft')
&& $this->registerHook('displayAdminorderRight')
&& $this->registerHook('dsplayAdminorderTabOrder')
&& $this->registerHook('displayAdminorderContentShip')
&& $this->registerHook('displayAdminorderContentOrder')
) {
return true;
}
$this->uninstall();
return false;
}
/**
* displayAdminorderContentShip
*/
public function hookdisplayAdminorderContentShip($param)
{
return '<b>hookdisplayAdminorderContentShip</b>';
}
/**
* @hook displayAdminorderLeft
*/
public function hookdisplayAdminorderLeft($param)
{
return '<b>hookdisplayAdminorderLeft</b>';
}
/**
* displayAdminorderRight
*/
public function hookdisplayAdminorderRight($param)
{
return '<b>hookdisplayAdminorderRight</b>';
}
/**
* @hook displayAdminorder
*/
public function hookdisplayAdminorder($param)
{
return '<b>hookdisplayAdminorder</b>';
}
/**
* displayAdminorderContentOrder
*/
public function hookdisplayAdminorderContentOrder($param)
{
return '<b>hookdisplayAdminorderContentOrder</b>';
}
显示:
解决方法
根据 documentation,您尝试使用的钩子不再可用。
例如:
- displayAdminOrderRight -> displayAdminOrderSideBottom
- displayAdminOrderLeft-> displayAdminOrderMainBottom
要解决这个问题,请卸载您的模块,更改方法的名称并注册正确的钩子。
提示:如果你的模块应该总是兼容,那么把钩子(旧的和新的)放在那个函数中并调用一个单独的方法,这样你就可以实现所有的 PS 版本。