Magento 2.2.4 не удалось получить данные сеанса клиента


Здесь я не могу получить данные сеанса клиента ($customersession), он работает в версии 2.2.3 Magento, но не работает в версии 2.2.4. Он возвращает значение false, когда кэшируемое значение равно false.

namespace Namespace\ModuleName\Helper;


class Data extends \Magento\Framework\App\Helper\AbstractHelper
{
    public $customerSession;

    public function __construct(
        \Magento\Customer\Model\Session $customerSession
    ) {
        $this->customerSession = $customerSession;
        parent::__construct($context);
    }



    public function getCustomerGroup() {
        if($this->customerSession->isLoggedIn()) {
            $groups = $this->customerSession->getCustomer()->getGroupId();
            return $groups;
        }
        return '0';
    }

}
Author: sanket zadafiya, 2018-07-02

1 answers

Проблема с конкретной версией в Magento 2.2.4, которую вы можете проверить здесь,
Url:- https://github.com/magento/magento2/issues/3294

<?php


namespace CompanyName\ModuleName\Helper;


class Data extends \Magento\Framework\App\Helper\AbstractHelper
{

    /**
     * @var \Magento\Customer\Model\SessionFactory
     */
    private $sessionFactory;


    /**
     * Data constructor.
     * @param \Magento\Framework\App\Helper\Context $context
     * @param \Magento\Customer\Model\SessionFactory $sessionFactory
     */
    public function __construct(
        \Magento\Framework\App\Helper\Context $context,
        \Magento\Customer\Model\SessionFactory $sessionFactory
    ) {
        parent::__construct($context);
        $this->sessionFactory = $sessionFactory;
    }

    public function getCustomerId()
    {

       $customerId = $this->sessionFactory->create()->getCustomer()->getId();
       return $customerId;
    }


}
 2
Author: Manish Goswami, 2018-07-11 09:55:07