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
一次又被调用了一次。因此,每次调用它时,您都会将该产品在购物车中的数量增加 1(在您的情况下 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
}
}
}
根据您的需要调整代码 ;)
我正在尝试以编程方式将产品添加到 PrestaShop 购物车。我将 updateQty()
与要更新的数量和产品 ID 一起使用。但是,当我将产品添加到购物车时,它会自动添加 10 件产品。我是不是用错了?
我在自定义模块中使用 actionCartSave
挂钩。
我试过这个:
public function hookActionCartSave($params){
$cart = $params['cart'];
$cart->updateQty(1, 408);
}
hookActionCartSave
一次又被调用了一次。因此,每次调用它时,您都会将该产品在购物车中的数量增加 1(在您的情况下 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
}
}
}
根据您的需要调整代码 ;)