在 Hookpayment 功能 PRESTASHOP 中禁用支付模块
Disabling payment module in Hookpayment function PRESTASHOP
我需要隐藏 C.O.D。 select 编辑了特定运营商(ID 为 8)时的支付模块。我决定使用 hookpayment 函数来检查运营商 ID,如果 ID 匹配,则 return false。我的 hookpayment 函数如下所示
public function hookPayment($params)
{
if (!$this->active)
return ;
global $smarty;
// Check if cart has product download
if ($this->hasProductDownload($params['cart']))
return false;
if ($cart->id_carrier == 8)
return false;
$smarty->assign(array(
'this_path' => $this->_path, //keep for retro compat
'this_path_cod' => $this->_path,
'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/'.$this->name.'/'
));
return $this->display(__FILE__, 'payment.tpl');
}
问题是,C.O.D。即使我 select 我的 ID 为 8 的运营商,方法仍然存在。你能帮我调试或找到解决方案吗?谢谢
$cart对象不存在,所以$cart->id_carrier永远不会等于8。需要用(int)$params['cart']代替$cart .
我需要隐藏 C.O.D。 select 编辑了特定运营商(ID 为 8)时的支付模块。我决定使用 hookpayment 函数来检查运营商 ID,如果 ID 匹配,则 return false。我的 hookpayment 函数如下所示
public function hookPayment($params)
{
if (!$this->active)
return ;
global $smarty;
// Check if cart has product download
if ($this->hasProductDownload($params['cart']))
return false;
if ($cart->id_carrier == 8)
return false;
$smarty->assign(array(
'this_path' => $this->_path, //keep for retro compat
'this_path_cod' => $this->_path,
'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/'.$this->name.'/'
));
return $this->display(__FILE__, 'payment.tpl');
}
问题是,C.O.D。即使我 select 我的 ID 为 8 的运营商,方法仍然存在。你能帮我调试或找到解决方案吗?谢谢
$cart对象不存在,所以$cart->id_carrier永远不会等于8。需要用(int)$params['cart']代替$cart .