
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();
}
}
} Negar /.env no nginx parece resolvido até alguém pedir /wp-content/uploads/.env ou backup.sql. As regras que testei e os furos que…
O Search Console marca suas páginas 2, 3 e 4 como alternativas da página 1? Ajuste a tag canônica do…
Um módulo de terceiro plantou um banner no topo da loja e você não quer desinstalar nada: tire o bloco…
Importou o banco de produção e o site pula para o domínio antigo? Rode o UPDATE em core_config_data, limpe o…
Seu catch trata pedido inexistente e banco fora do ar do mesmo jeito. Veja como criar exceção customizada em PHP…
O form do admin salva mas abre em branco na edição: veja o getData() indexado pelo id da entidade e…