Pliki cookie Magento 2 nie działają, gdy cała pamięć podręczna jest włączona

9

W obserwatorze ustawiam taki plik cookie:

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

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

Wszystko działa, gdy Full page cachingjest wyłączone. Jednak po jej włączeniu plik cookie nie zostanie ustawiony.

Jak mogę to naprawić?

Sam Hendrickx
źródło

Odpowiedzi:

2

OK. Zadałem pytanie na oficjalnym GitHubie. Jest to całkiem normalne, jeśli próbujesz (podobnie jak ja) uzyskać dostęp do pliku cookie w bloku.

Znalazłem ten temat, a zwłaszcza ten i mam nadzieję, że to pomoże.

enrico69
źródło
2

Udało mi się ustawić ciasteczko w ten sam sposób, w jaki magento ustawia je do przechowywania za pomocą wtyczek.

Definicja wtyczki znajduje się w pliku: 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>

A tutaj masz rzeczywiste ciasteczka ustawione na beforeDispatch()vendor / magento / module-store / Model / Plugin / StoreCookie.php: 69

Magarusu
źródło