Файлы cookie Magento 2 не работают, когда включен весь кэш

9

В обозревателе я устанавливаю печенье, как это:

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$cookieManager = $objectManager->get('Magento\Framework\Stdlib\CookieManagerInterface');

$cookieManager->setPublicCookie('myvar', $myVar);

Все работает когда Full page cachingотключено. Однако, как только я включу его, cookie не будет установлен.

Как я могу это исправить?

Сэм Хендрикс
источник

Ответы:

2

ХОРОШО. Я задал вопрос на официальном GitHub. Это вполне нормально, если вы (как и я) пытаетесь получить доступ к куки в блоке.

Я нашел эту тему и особенно эту и надеюсь, что это поможет.

enrico69
источник
2

Мне удалось установить cookie так же, как magento устанавливает его для хранения с помощью плагинов.

Смотрите файл для определения плагина: vendor / magento / module-store / etc / di.xml: 265

<type name="Magento\Framework\App\FrontController">
    <plugin name="storeCookieValidate" type="Magento\Store\Model\Plugin\StoreCookie" sortOrder="10"/>
</type>

И здесь у вас есть фактический набор beforeDispatch()файлов cookie в vendor / magento / module-store / Model / Plugin / StoreCookie.php: 69

Magarusu
источник