繁体   English   中英

使用“ Mage_Checkout_Model_Cart_Product_Api”更新magento购物车吗?

[英]Update magento cart with “Mage_Checkout_Model_Cart_Product_Api”?

我正在尝试使用checkout/cart_product_api模型更新购物车。 我使用的功能是

public function updateCartAction() {

        $result = array();
        $apiModel = Mage::getModel('checkout/cart_product_api');

        $quoteId = $this->getRequest()->getParam('quote_id', null);
        $store = $this->getRequest()->getParam('store_id', null);

        $quoteId = 74;
        $store = 1;

        $productId = "51";
        $qty = "5";

        $productsData = array(
                                array(

                                        "product_id" => $productId,
                                        "qty" => $qty

                                      )
                             );

        $result = $apiModel->update($quoteId, $productsData, $store);

        print json_encode(array("result" => $result));    
    }

在这里,我尝试手动更改产品数量为51 它在app/code/core/Mage/Checkout/Model/Cart/Product/Api.php调用update() ,返回值为true

但是数量保持不变! 为什么会发生? 如果有人有解决方案,请与我分享。

我找到了答案。

设置数量后,我需要在checkout/cart_product_api模型的update函数中放置一个save()

即在mage/checkout/model/cart/product/api.php中的update()中,有

 if ($productItem['qty'] > 0) {
                $quoteItem->setQty($productItem['qty']);
            }

它应该是

 if ($productItem['qty'] > 0) {
                $quoteItem->setQty($productItem['qty'])->save();
            }

因此,我覆盖了update()并解决了问题。

暂无
暂无

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

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