【问题标题】:Prestashop add product to cart strange quantityPrestashop 将产品添加到购物车奇怪的数量
【发布时间】:2017-05-29 15:33:18
【问题描述】:

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

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

我试过这个:

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

【问题讨论】:

    标签: php model-view-controller module prestashop prestashop-1.6


    【解决方案1】:

    hookActionCartSave 一次被调用一次。因此,每次调用它时,您都会将该产品的购物车中的数量增加 1(在您的情况下,ID 为 408),在您的情况下,它可能会被调用 10 次。

    要回答您的问题,我们必须检查产品是否已经在购物车中,试试这个 sn-p:

    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
            }
        }
    }
    

    根据您的需要调整代码;)

    【讨论】:

    • 您的解决方案非常有效,非常感谢 :-)。虽然它实际上让我思考:增加(数量)在购物车中准备好的产品的程序是什么?不知道这是不是另一个问题:-)
    • 呵呵,好问题,目前我没有一个快速的答案给你 :P 但我想你可以自己找到解决方案;)
    猜你喜欢
    • 1970-01-01
    • 2016-02-28
    • 2012-06-09
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    • 2021-04-04
    • 2014-11-21
    相关资源
    最近更新 更多