2012-12-04 55 views
4

我試圖加載顧客的購物車,所以我可以添加產品,然後保存購物車。
我試過,但沒有運氣與裝載車:負載顧客購物車在Magento

$customerCart = Mage::getModel('checkout/cart')->loadByCustomer($idUser); 

    $customerCart->addProduct($idProduct,$quantity); 
    $customerCart->save(); 
+0

看看@ http://www.ipaste.org/Ivg –

回答

7

這取決於你所要完成的任務。如果您在管理員中,並且需要將商品添加到購物車中(即使管理員已具有此功能),您可能會比在前端時做的更加不同。一個關鍵點是在Magento有點困惑是,車是不是真的什麼存儲的項目 - 在quote一樣。購物車是報價的包裝。如果你仔細想一想,那真的很有道理。

所以,從管理訪問客戶的報價,你做這樣的:

$quote = Mage::getModel('sales/quote')->loadByCustomer($customer); 
$quote->addProduct($product, $qty); 

$quote->collectTotals()->save(); 

如果你想從前端訪問客戶的報價,你會做這樣的:

$quote = Mage::getSingleton('checkout/session'); 
$quote->addProduct($product, $qty); 

$quote->collectTotals()->save(); 
+0

我試過管理選項,但它並沒有爲我工作。我正在試圖做的是與Magento的系統,這樣當其他系統中的客戶增加了產品加入購物車的事件被觸發這個功能,這樣的產品會添加到客戶的Magento的車太的整合。 – jonathanwiesel

+0

更新:它的工作部分...我設置了錯誤的產品;然而代碼成功運行,但產品不被添加到顧客的購物車 – jonathanwiesel

+1

我只是doublechecked我的代碼,發現'addProduct'方法返回Mage_Sales_Model_Quote_Item'的'一個實例,而不是'Mage_Sales_Model_Quote'。我生成了一個測試場景,並發現上面的代碼現在*正在運行。 –