无法在 prestashop Context::getContext()->cookie 中找到 cookie 值,但它显示在 $_COOKIE 中?

Con't able to find cookie value in prestashop Context::getContext()->cookie but it is show in $_COOKIE?

我正在创建一个使用第三方 Js 的模块。该 JS 在浏览器中创建一个 cookie。在后端,我想借助 prestashop cookie class (Context::getContext()->cookie / $this->context->cookie ) 读取该 cookie 但无法找到该 cookie 值,如果我使用 php default $_COOKIE 它工作正常.

例如:我的 cookie 键是 xyz,值是 123456abc。 当我使用 print_r($_COOKIE) 它打印 [xyz]= "123456abc"

但是当我使用 prestashop Cookie 时它不打印任何东西。

这是因为您很可能正在写入具有不同名称或不同 domain/sub-domain 的 cookie。

PrestaShop 管理员 cookie 名称是 psAdmin 而前端是 ps-s1.

使用 Google Chrome,按 F12 并转到:Applications > Cookies > www.yourstore.com

您现在应该看到所有不同的 cookie 名称和值,确保您输入的是正确的。

另一种解决方案是直接从 JS 调用您的 PrestaShop 控制器文件(使用 Ajax)以通过 PHP 设置 cookie 值。