Magento 2

Remover todos os itens do carrinho Magento 2

Como remover todos os itens do carrinho no Magento 2

Utilizando Object Manager

 $checkoutSession = $this->_objectManager->create('Magento\Checkout\Model\Session');

$allItems = $checkoutSession->getQuote()->getAllVisibleItems();

foreach ($allItems as $item) {
  $itemId = $item->getItemId();
  $cart->removeItem($itemId)->save();
}

Por Meio de um Controller

use Magento\Checkout\Model\Cart;
use Magento\Checkout\Model\Session as CheckoutSession;
use Magento\Framework\App\Action\Action;
class Clearcart extends Action
{
 protected  $_modelCart;
 protected $ checkoutSession;
 public function __construct(CheckoutSession $checkoutSession,Cart $modelCart)
        {
         $this->checkoutSession = $checkoutSession;
         $this->_modelCart = $modelCart;
        }
 public function execute()
        {
 $cart = $this->_modelCart;
 $quoteItems = $this->checkoutSession->getQuote()->getItemsCollection();
 foreach($quoteItems as $item)
 {
 $cart->removeItem($item->getId())->save(); 
 }
 }
}

Removendo por meio de uma Classe Model

namespace Vendor\Extension\Controller\Index;
use Magento\Checkout\Model\Session as CheckoutSession;
use Magento\Quote\Model\Quote\Item
 
class Clearcart extends Action
{
 protected  $modelCartItem;
 protected $checkoutSession;

 public function __construct(CheckoutSession $checkoutSession,Item $modelCartItem)
        {
         $this->checkoutSession = $checkoutSession;
                $this->_ modelCartItem = $modelCartItem;
        }

 public function execute()
 {
      $checkoutSession = $this->getCheckoutSession();
  $allItems = $checkoutSession->getQuote()->getAllVisibleItems();
  foreach ($allItems as $item) 
  {
       $cartItemId = $item->getItemId();
          $itemObj=$this->getItemModel()->load($cartItemId);
          $itemObj->delete();
  }
   }
}

Post Recentes

WordPress não aparece no Google: noindex esquecido e robots.txt virtual

Site novo há semanas e nenhuma página indexada? Confira a caixinha de visibilidade em Leitura, o noindex no HTML e…

18 horas atrás

array_map perde as chaves do array no PHP: como manter o índice

O retorno do array_map voltou com índice 0, 1, 2 e o código que dependia da chave quebrou. Entenda quando…

2 dias atrás

Backup do Magento 2 com mysqldump: dump leve sem as tabelas de log

Dump de 12 GB que demora horas porque arrasta report_event e cron_schedule. Faça o backup em duas passadas, guarde só…

2 dias atrás

Preference do di.xml não aplica no Magento 2: o que checar antes

Escreveu a preference e o Magento 2 continua usando a classe original? Confira a área do di.xml, o generated/code e…

3 dias atrás

Filtro por atributo do WooCommerce vazio: global x personalizado

Cadastrou Cor direto na aba Atributos do produto e o filtro por atributo vem vazio. Veja como identificar o tipo,…

4 dias atrás

wp db query: rodar SQL no WordPress pelo WP-CLI sem phpMyAdmin

Precisa de um SELECT no banco do cliente e só tem SSH? O wp db query pega a senha do…

4 dias atrás