2012-12-04 59 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'。我生成了一个测试场景,并发现上面的代码现在*正在运行。 –