Opencart 3 整个站点的会话数据

我只是想知道是否可以在 Opencart 网站上设置会话?

我的意思是我在 Opencart 网站上创建了一个子目录相册。我想要实现的是在产品页面上,当用户单击相册图标时,它将被带到相册子目录。在相册子目录中,将有一个表格,用户必须填写该表格。用户在提交时从相册目录填写该表单后,用户应重定向到该产品页面,其中包含在相册目录中填写的表单数据。此外,产品页面应该选择与他/她在单击专辑之前选择的选项相同的选项。

我尝试通过在专辑页面上使用以下代码设置会话数据来做到这一点。

sessionStorage.setItem("album", JSON.stringify(tdata));

然后返回产品页面window.history.go(-1);

但是,我仍然无法在我的产品页面上获取专辑会话数据。我也尝试$_SESSION$this->session->data

有谁知道如何实现这一目标?

谢谢


BIG阳
浏览 107回答 2
2回答

繁花如伊

在OC会话数据保存中:$this->session->data['your_data'] = $some_data;编辑:要在同一域中的非 OC 站点中保存和检索数据,请使用:应在获取该数据之前运行此文件。这意味着数据必须保存到会话中。在您的文件中,您想从哪里获取数据:session_start();$_SESSION['my_data'] = $some_data;要稍后从同一域中所需的会话中检索数据,请使用以下代码:session_start();if (isset($_SESSION['my_data']))    $sessionData = $_SESSION['my_data'];else     $sessionData= '';要清除数据,请使用 unset() PHP 函数,如下所示:unset($_SESSION['my_data']);

炎炎设计

我之前创建了自定义 jquery 文件并将其注入到我的产品页面中$data['heading_title'] = $product_info['name'];。$this->document->addScript('catalog/view/javascript/jquery/album.js');在我的 album.js 中$(document).ready(function(e) {&nbsp; &nbsp; &nbsp; if (sessionStorage.getItem("album_data") != null) {&nbsp; &nbsp; &nbsp; &nbsp; var data = sessionStorage.getItem("album_data");&nbsp; &nbsp; &nbsp; &nbsp; console.log(data);&nbsp; &nbsp; &nbsp; }}在我的自定义 album.php 中,放置在 mysite/album/<script>&nbsp; &nbsp; sessionStorage.setItem("album_data", JSON.stringify(tdata));&nbsp; &nbsp; window.history.go(-1);</script>无需创建会话或任何其他内容。创建新会话在controller/product.php 中不起作用,因为OC 有自己的处理会话数据的方式。因此,我们将无法访问其中的任何 $_SESSION 数据。OC只懂$this-session->data。
打开App,查看更多内容
随时随地看视频慕课网APP