
magento 2
Como Limpar/Esvaziar o Carrinho no Magento 2 programaticamente
Bem, é possível limpar o carrinho usando três maneiras diferentes, mencionadas abaixo. Trabalhando com o Magento várias vezes você se deparou com essa situação por isso pensamos em criar um artigo no blog Magecomp.
namespace Vendor\Extension\Controller\Index;
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();
}
}
} Nesse método, podemos obter o carrinho atual usando o objeto model cart e, em seguida, simplesmente truncá-lo.
namespace Vendor\Extension\Controller\Index;
class Clearcart extends Action
{
public function execute()
{
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$cartObject = $objectManager->create('Magento\Checkout\Model\Cart')->truncate();
$cartObject->saveQuote();
}
} Neste último método, podemos excluir o item do carrinho Modal usando o código abaixo.
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…