Magento auto remove out of stock items from shopping cart
Below Code will remove automatically product items from shopping cart page which are out of stock
In config.xml file:
<events> <controller_action_predispatch_checkout_cart_index> <observers> <namespace_module_autoremove_outofstock> <type>singleton</type> <class>namespace_module/observer</class> <method>removecartitemsofs</method> </namespace_module_autoremove_outofstock> </observers> </controller_action_predispatch_checkout_cart_index> </events>
In Observer.php file:
public function removecartitemsofs($observer) { $quote = Mage::getModel('checkout/session')->getQuote(); $cartItems = $quote->getAllItems(); foreach ($cartItems as $item) { $productId = $item->getProductId(); $product = Mage::getModel('catalog/product')->load($productId); $stockItem = $product->getStockItem(); if(!$stockItem->getIsInStock()) { Mage::helper('checkout/cart')->getCart()->removeItem($item->getId())->save(); } } }
Enjoy…..:)