cancel
Showing results for 
Search instead for 
Did you mean: 

On cart page when item deleted there is no message display

On cart page when item deleted there is no message display

Hello,

 

When we delete item from cart there should be message display like "Product A has been removed from cart."

 

In magento 2 there is no such message display. Anyone have idea about this and how to display this message on cart page after item deleted from cart.

 

Thanks

1 REPLY 1

Re: On cart page when item deleted there is no message display

Hello,

 

To display item delete success message after remove item from cart. You can achieve this by creating an observer.

 

Create below files:

<Vendor>/<Module>/etc/events.xml

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="sales_quote_remove_item">
        <observer name="cart-item-remove-success" instance="<Vendor>\<Module>\Observer\CartItemRemoveSuccess" />
    </event>
</config>

<Vendor>/<Module>/Observer/CartItemRemoveSuccess.php

<?php

namespace <Vendor>\<Module>\Observer;

use Magento\Framework\Event\ObserverInterface;

class CartItemRemoveSuccess implements ObserverInterface
{
    /**
     * @param \Magento\Framework\Message\ManagerInterface $messageManager
     */
    public function __construct(
        \Magento\Framework\Message\ManagerInterface $messageManager
    ) {
        $this->messageManager = $messageManager;
    }

    /**
     *
     * @param \Magento\Framework\Event\Observer $observer
     * @return void
     */
    public function execute(\Magento\Framework\Event\Observer $observer)
    {
        $quoteItem = $observer->getQuoteItem();
        $quote = $quoteItem->getQuote();
        $product = $quoteItem->getProduct();
        $name = $product->getName();
        if($name){
            $message = __('Product '.$name.' has been removed from cart.');
            $this->messageManager->addSuccessMessage($message);
        }
    }
}