Adding multiple products to the cart simultaneously in Magento (Part 2)
by Dan on Sep.08, 2011, under Magento, PHP
A while ago I wrote about adding multiple products to the shopping cart simultaneously. It turns out this seems to have stopped working from Magento 1.4 or so. Up until now, I’ve not really had the time to look in detail to figure out why. Finally, this evening, I got some time. So I dug deeper.
It turns out there seems to have been some changes in the way models persist their data, and unsetting and unloading/resetting them didn’t seem to cut it any more. Anyway, below is a fixed version of the previous post. Tested on 1.4.2.0 and 1.6.0.0.
This is a replacement for the file app/code/local/BTS/AddMultipleProducts/controllers/AddController.php;
<?php class BTS_AddMultipleProducts_AddController extends Mage_Core_Controller_Front_Action { public function indexAction() { $products = explode(',', $this->getRequest()->getParam('products')); $cart = Mage::getModel('checkout/cart'); $cart->init(); /* @var $pModel Mage_Catalog_Model_Product */ foreach ($products as $product_id) { if ($product_id == '') { continue; } $pModel = Mage::getModel('catalog/product')->load($product_id); if ($pModel->getTypeId() == Mage_Catalog_Model_Product_Type::TYPE_SIMPLE) { try { $cart->addProduct($pModel, array('qty' => '1')); } catch (Exception $e) { continue; } } } $cart->save(); if ($this->getRequest()->isXmlHttpRequest()) { exit('1'); } $this->_redirect('checkout/cart'); } } |
1 Comment for this entry
1 Trackback or Pingback for this entry
-
Adding multiple products to the cart simultaneously in Magento | danneh.org
December 14th, 2011 on 12:00 pm[...] This appears to not work from Magento 1.4 ish and up. I posted an updated/fixed version of the code here. :add, cart, magento, module, multiple, product, [...]
January 28th, 2012 on 2:52 pm
Thanks, but i can not add product to cart if product is “Configurable Product” my store have an “size” Attribute