Я пытаюсь подсчитать количество товаров в корзине покупателя в окне регистрации клиентов.Я использовал сессию Checkout для получения всех видимых предметов в корзине, но во всех ситуациях (даже если в корзине уже есть товары) при подсчете товаров возвращается 0.
Я сделалпользовательский модуль Magento 2 для него и добавленный файл обозревателя CustomerLogin.php в папке Observer модуля, который будет запускаться при входе в систему как клиент (см. код ниже).
<?php
namespace CustomModuleVendor\CustomModule\Observer;
use Magento\Framework\Event\ObserverInterface;
use Magento\Framework\App\RequestInterface;
class CustomerLogin implements ObserverInterface
{
protected $_checkoutSession;
public function __construct(\Magento\Checkout\Model\Session $checkoutSession)
{
$this->_checkoutSession = $checkoutSession;
}
public function execute(\Magento\Framework\Event\Observer $observer)
{
$cartData = $this->_checkoutSession->getQuote()->getAllVisibleItems();
echo count($cartData);
exit;
}
}