簡體   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