Os cookies Magento 2 não funcionam quando todo o cache está ativado

9

Em um observador, estou configurando um cookie como este:

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

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

Tudo está funcionando quando Full page cachingestá desativado. No entanto, quando eu o ativar, o cookie não será definido.

Como posso consertar isso?

Sam Hendrickx
fonte

Respostas:

2

ESTÁ BEM. Fiz a pergunta no GitHub oficial. É bastante normal se você (como eu) estiver tentando acessar um cookie em um bloco.

Eu encontrei este tópico e especialmente este e espero que isso ajude.

enrico69
fonte
2

Consegui definir o cookie da mesma forma que o magento define para armazenamento usando plugins.

Veja o arquivo para definição do 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 aqui você tem o conjunto de cookies atual em beforeDispatch()vendor / magento / module-store / Model / Plugin / StoreCookie.php: 69

Magarusu
fonte