[英]Magento : How to Get product from cart and add it again
我想从购物车中以阵列的形式获取所有产品。 我想从购物车中删除所有产品。 之后,我要添加相同数量和选项的相同产品,这些数量和选项由客户根据某些条件再次在购物车中选择。 我做了以下。
1)将所有产品保存在购物车中可用的阵列中。 使用以下代码。
$quote = $this->getQuote();
$i=0;
foreach ($quote->getAllItems() as $item) {
$bufferItems[$i] = $item;
$i++;
}
2)使用以下代码从购物车中删除所有产品。
foreach ($quote->getAllItems() as $item) {
$quote->getItemsCollection()->removeItemByKey($item->getId());
}
到目前为止,一切正常。
现在我不知道如何将产品重新添加到购物车中。
我做了以下是行不通的。
1) $quote->addProduct($bufferItems[1]);
2) $quote->addItem($bufferItems[1]);
尝试这个 :
$cartItems = Mage::getModel("checkout/cart")->getItems();
$cart = Mage::getModel('checkout/cart');
$cart->init();
foreach($cartItems as $item) {
$_product = Mage::getModel('catalog/product')->load($item->getProductId());
$cart->addProduct($_product, array('qty' => $item->getQty()));
}
$cart->save();
Mage::getSingleton('checkout/session')->setCartWasUpdated(true);
请在您的代码中尝试以下代码
$params = array( 'product' => 164, 'qty' => 2, ); $cart = Mage::getSingleton('checkout/cart'); $product = new Mage_Catalog_Model_Product(); $product->load(164); $cart->addProduct($product, $params); $cart->save(); Mage::getSingleton('checkout/session')->setCartWasUpdated(true); $message = $this->__('Custom message: %s was successfully added to your shopping cart.', $product->getName()); Mage::getSingleton('checkout/session')->addSuccess($message);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.