すべてのキャッシュが有効になっているとMagento 2のCookieが機能しない


9

オブザーバーでは、次のようにCookieを設定しています。

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

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

Full page cachingが無効になっている場合、すべてが機能しています。ただし、一度有効にすると、Cookieは設定されません。

どうすれば修正できますか?

回答:


2

OK。公式GitHubで質問しました。あなたが(私のように)ブロック内のCookieにアクセスしようとしているのはごく普通のことです。

私はこのトピック特にこれを見つけこれが役立つことを願っています。


2

プラグインを使用してmagentoがストアに設定するのと同じ方法でcookieを設定することができました。

プラグイン定義のファイルを参照してください: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>

そして、あなたは実際のcookieをbeforeDispatch()vendor / magento / module-store / Model / Plugin / StoreCookie.php:69に設定しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.