2017-05-29 121 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

相關問題