I cookie di Magento 2 non funzionano quando è abilitata tutta la cache


9

In un osservatore sto impostando un cookie come questo:

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

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

Tutto funziona quando Full page cachingè disabilitato. Tuttavia, una volta abilitato, il cookie non verrà impostato.

Come posso risolvere questo problema?

Risposte:



2

Sono riuscito a impostare il cookie nello stesso modo in cui magento lo imposta per l'archiviazione utilizzando i plug-in.

Vedi il file per la definizione del plugin: 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>

E qui hai impostato il cookie effettivo su beforeDispatch()vendor / magento / module-store / Model / Plugin / StoreCookie.php: 69

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.