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?

Antworten:



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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.