在Magento中加载客户购物车

在Magento中加载客户购物车,magento,shopping-cart,Magento,Shopping Cart,我正在尝试加载客户购物车,以便添加产品,然后保存购物车。 我试过了,但没有成功装载购物车: $customerCart = Mage::getModel('checkout/cart')->loadByCustomer($idUser); $customerCart->addProduct($idProduct,$quantity); $customerCart->save(); 这取决于你想完成什么。如果您在管理员中,并且需要将项目添加到购物车中(

我正在尝试加载客户购物车,以便添加产品,然后保存购物车。
我试过了,但没有成功装载购物车:

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

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

这取决于你想完成什么。如果您在管理员中,并且需要将项目添加到购物车中(即使管理员已经具有此功能),那么您的操作方式将与在前端时有所不同。在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();
如果您想从前端访问客户的报价,您可以这样做:

$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();

看看@我尝试了管理选项,但对我来说不起作用。我想做的是将一个系统与Magento集成,这样当另一个系统中的客户将产品添加到购物车时,该功能会触发一个事件,这样该产品也会添加到客户的Magento购物车中。更新:部分工作正常。。。我把产品设置错了;但是,代码运行成功,但产品没有添加到客户的购物车中。我只是仔细检查了我的代码,发现
addProduct
方法返回
Mage\u Sales\u Model\u Quote\u Item
,而不是
Mage\u Sales\u Model\u Quote
。我生成了一个测试场景,发现上面的代码现在正在运行。我注意到我的问题是没有加载客户会话,项目出现在管理面板中,但没有出现在客户视图中。谢谢你能用jonathanwiesel来增强解决方案吗?