问题描述
嗨,我已经使用 Rest API 创建了一个 reactjs 单页目录,我们仍然有以 vanilla 模式运行的实时 magento 2.1 网站。
我们的 live vanilla 网站支持所有必需的付款方式,因此希望我的 react web 应用程序在实时 magento 网站上重定向结帐。
我已经成功构建了 React 应用程序,该应用程序可以使用 quoteID 和 Quote Mask ID 在购物车中添加产品并查看购物车。现在我需要像 vanila Magento 一样知道我可以设置一些会话或 cookie,然后将用户重定向到实时 Magento 网站结帐页面。
现在我无法理解 magento vanila 前端如何识别访客用户在他们的默认购物车页面上拉出确切的购物车项目。他们究竟在浏览器的 cookie 或 localstorage 中存储了什么,以便他们能够映射到后端的报价 ID。
如果有人能指导我会很棒。我已经查看了 Quote 表、Quote_items 表和 vitor 表,但没有找到任何指向 PHPSESSIONID 的链接。现在我怀疑他们是否甚至依赖它。
www.example.com 是我的实时网站 webapp.example.com 是我基于 PWA/ReactJS 的,它使用 Magento 的 Web api。
解决方法
public function __construct
(
\Magento\Framework\Session\SessionManager $sessionManager
)
{
$this->_session = $sessionManager;
}
public function execute(\Magento\Framework\Event\Observer $observer)
{
$sessionID = $this->_session->getSessionId();
}
网址:https://www.example.com?SID=sessionid
示例:https://www.example.com?SID=v32hjtpgt8e12jorc0tksekkj6
Magento 将 sessionid 存储在 cookie 中,并将会话数据存储在 env.php 中定义的服务器中