Reputation: 4331
Can anyone tell me what is the right event to trigger when the user click clear shopping cart button.I want to remove some information on the basis of that event.Currently I am storing information on add to cart event using observer .Thanks
Upvotes: 1
Views: 5454
Reputation: 11
Universal method
config.xml
<events>
<sales_quote_save_after>
<observers>
<module_model_observer>
<type>singleton</type>
<class>module/observer</class>
<method>salesQuoteSaveAfter</method>
</module_model_observer>
</observers>
</sales_quote_save_after>
</events>
Observer.php
public function salesQuoteSaveAfter($observer)
{
/** @var Mage_Sales_Model_Quote $quote */
$quote = $observer->getEvent()->getQuote();
if($quote->getItemsCount() == 0) {
// your code
}
}
Upvotes: 1
Reputation: 4549
i recently implemented this in a custom module.
controller_action_predispatch_checkout_cart_updatePost
this event get calls exactly when pressed clear cart.
in the observer you can check if the method was called for empty cart:
$post = Mage::app()->getRequest()->getPost('update_cart_action'); // get value
if ($post == 'empty_cart') {
// perform logic
$quote = Mage::helper('checkout/cart')->getQuote(); //quote
$allQuoteItems = $quote->getAllItems(); // quote items
// do code
}
Hope it helps.
Upvotes: 4
Reputation: 4141
There is no event in 1.7.0.2
// app/code/core/Mage/Checkout/controllers/CartController.php:389
Mage_Checkout_CartController::updatePostAction()
// app/code/core/Mage/Checkout/controllers/CartController.php:441
Mage_Checkout_CartController::_emptyShoppingCart()
// app/code/core/Mage/Checkout/Model/Cart.php:489
Mage_Checkout_Model_Cart::truncate()
// app/code/core/Mage/Sales/Model/Quote.php:837
Mage_Sales_Model_Quote::removeAllItems()
You can listen on checkout_cart_save_before
and check wether the cart is empty and your setting is set, if yes, remove it.
Upvotes: 2