繁体   English   中英

Prestashop将产品添加到购物车奇数

[英]Prestashop add product to cart strange quantity

我正在尝试以编程方式将产品添加到PrestaShop购物车。 我将updateQty()与要更新的数量和产品ID一起使用。 但是,当我将产品添加到购物车时,它会自动添加10个数量的产品。 我使用错误的方式吗?

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

我已经试过了:

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

hookActionCartSave一次hookActionCartSave被调用一次。 因此,每当您调用它时,该产品的购物车中的数量增加1(在您的情况下,标识为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
        }
    }
}

使代码适应您的需求;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM