Magento – Prevent abandoned cart and guest cart merge

cartevent-observermagento2

I have made Observer on event "sales_quote_merge_before" to remove abandoned cart items when customer logs in (from Go to Checkout).
After login Minicart shows only guest cart items (no items from abandoned cart), but on checkout/cart and checkout/ carts are still merged and show all items (guest and abandoned combined)

Any ideas what I'm doing wrong?

public function execute(Observer $observer) {
     $this->_logger->debug('SingleVendorMergeObs:sales_quote_merge_before');
       $event = $observer->getEvent();

     /** @var $quote \Magento\Sales\Model\Quote */
     $quote = $observer->getQuote();
     $quote->removeAllItems();
     $quote->save();
}

Best Answer

I made module to clear all cart items(not abandoned cart, sorry), like below.

$this->_cart->truncate();

This function clear cart before login, and abandoned cart items keep. I hope this will help you.

Related Topic