Magento 2-Cookies funktionieren nicht, wenn der gesamte Cache aktiviert ist

9

In einem Beobachter setze ich einen Cookie wie folgt:

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

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

Alles funktioniert, wenn Full page cachinges deaktiviert ist. Sobald ich es aktiviere, wird das Cookie jedoch nicht gesetzt.

Wie kann ich das beheben?

Sam Hendrickx
quelle

Antworten:

2

OKAY. Ich habe die Frage auf dem offiziellen GitHub gestellt. Es ist ganz normal, wenn Sie (wie ich) versuchen, auf ein Cookie in einem Block zuzugreifen.

Ich habe dieses Thema und besonders dieses gefunden und hoffe, dass dies helfen wird.

enrico69
quelle
2

Ich habe es geschafft, das Cookie auf die gleiche Weise zu setzen, wie Magento es mithilfe von Plugins zum Speichern einstellt.

Die Plugin-Definition finden Sie in der Datei: 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>

Und hier haben Sie das eigentliche Cookie auf beforeDispatch()Vendor / Magento / Module-Store / Model / Plugin / StoreCookie.php: 69 gesetzt

Magarusu
quelle