I want to clear the cart before adding a new item to the cart.

I am trying to do using the event "checkout_cart_product_add_before" and by this code in the observer.

$allItems = $this->checkoutSession->getQuote()->getItemsCollection();

foreach ($allItems as $item) {
$itemId = $item->getItemId();

My all items getting remove from the cart with the newly added item also.

Can anyone help me out with this?



1 Answer 1


you can delete all item before they are adding as cart candidate. You can use following process

    $cart = $objectManager->create('\Magento\Checkout\Model\Cart');

    foreach ($cart->getQuote()->getAllItems() as $item) {
        /** @var \Magento\Quote\Model\Quote\Item $item */
    $cart->addProduct($newProduct, $request)->save();
  • Thanks, Its working fine.
    – Soni5041
    Dec 2, 2019 at 7:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.