2017-05-29 134 views
0

我试图以编程方式向PrestaShop购物车添加产品。我使用updateQty()以及更新数量和产品ID。但是,当我将产品添加到购物车时,它会自动添加10个数量的产品。我是否以错误的方式使用它?Prestashop添加产品到购物车奇怪的数量

我在自定义模块中使用actionCartSave钩子。

我已经试过这样:

public function hookActionCartSave($params){ 
    $cart = $params['cart']; 
    $cart->updateQty(1, 408); 
} 

回答

1

hookActionCartSave被称为一次一次。所以每次它会被称为你在该产品的购物车中的数量增加(在你的情况下,ID为408),也许它被称为10倍在你的情况。

要回答你的问题,我们要检查该产品是否已在购物车,试试这个片断:

public function hookActionCartSave($params) 
{ 
    $cart = $params['cart']; // Get the cart object 
    if(Validate::isLoadedObject($cart)){ // Check if the cart is a valid object 
     if(!$cart->containsProduct(408)){ // Check if our product is already in cart 
      $cart->updateQty(1, 408); // Add our product to cart 
     } 
    } 
} 

适应代码到你的需求;)

+0

您的解决方案的工作就像一个魅力,非常感谢你:-)。虽然它真的让我想到:什么程序可以增加(数量)所有已准备好的产品?不知道如果这是另一个问题:-) – simon

+1

呵呵,很好的问题,目前我没有一个快速的答案给你:P,但我想你可以自己找到解决方案;) – sarcom

相关问题