Php 整个站点的Opencart 3会话数据
我只是想知道,是否有可能在整个Opencart网站上设置会话 我的意思是,我已经在我的Opencart网站上创建了一个子目录相册。我想要实现的是在产品页面上,当用户单击相册图标时,它将被带到相册子目录。在相册子目录中,将有一个表单,用户必须填写该表单。在用户在提交时从相册目录中填写表单后,用户应重定向到该产品页面,并在相册目录中填写表单的数据。此外,产品页面应该选择了他/她在单击相册之前选择的相同选项 我试着在我的相册页面上使用以下代码设置会话数据 sessionStorage.setItem(“相册”,JSON.stringify(tdata))代码> 然后使用Php 整个站点的Opencart 3会话数据,php,session-variables,opencart-3,Php,Session Variables,Opencart 3,我只是想知道,是否有可能在整个Opencart网站上设置会话 我的意思是,我已经在我的Opencart网站上创建了一个子目录相册。我想要实现的是在产品页面上,当用户单击相册图标时,它将被带到相册子目录。在相册子目录中,将有一个表单,用户必须填写该表单。在用户在提交时从相册目录中填写表单后,用户应重定向到该产品页面,并在相册目录中填写表单的数据。此外,产品页面应该选择了他/她在单击相册之前选择的相同选项 我试着在我的相册页面上使用以下代码设置会话数据 sessionStorage.setItem(
window.history.go(-1)返回产品页面代码>
但是,我仍然无法在我的产品页面上获取专辑会话数据。我尝试了$\u SESSION
以及$this->SESSION->data
有人知道如何做到这一点吗
感谢您在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']);
在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\u title']=$product\u info['name']之前将其插入我的产品页面代码>
$this->document->addScript('catalog/view/javascript/jquery/album.js');
在我的album.js中
$(document).ready(function(e) {
if (sessionStorage.getItem("album_data") != null) {
var data = sessionStorage.getItem("album_data");
console.log(data);
}
}
在mysite/album中放置的my custom album.php中/
<script>
sessionStorage.setItem("album_data", JSON.stringify(tdata));
window.history.go(-1);
</script>
setItem(“相册_数据”,JSON.stringify(tdata));
window.history.go(-1);
不需要创建会话或任何东西。创建新会话在controller/product.php中不起作用,因为OC有自己处理会话数据的方法。因此,我们将无法访问其中的任何$u会话数据。OC只理解$this session->data
我创建了自定义jquery文件,并在$data['heading\u title']=$product\u info['name'之前将其插入我的产品页面代码>
$this->document->addScript('catalog/view/javascript/jquery/album.js');
在我的album.js中
$(document).ready(function(e) {
if (sessionStorage.getItem("album_data") != null) {
var data = sessionStorage.getItem("album_data");
console.log(data);
}
}
在mysite/album中放置的my custom album.php中/
<script>
sessionStorage.setItem("album_data", JSON.stringify(tdata));
window.history.go(-1);
</script>
setItem(“相册_数据”,JSON.stringify(tdata));
window.history.go(-1);
不需要创建会话或任何东西。创建新会话在controller/product.php中不起作用,因为OC有自己处理会话数据的方法。因此,我们将无法访问其中的任何$u会话数据。OC只了解我如何访问相册页面中的$this session->data
如何访问$this->session->data
。这是一个非opencart页面?@PanktiShah,仅通过您自己的自定义AJAX处理程序。在数据更改时提交AJAX请求并将其存储在服务器的会话中。@PanktiShah在发布answeer之前,我已使用OC对其进行了测试,并在同一服务器中从OC外部获取会话数据。它正在工作。在您尝试检索会话数据之前,您应该运行一个文件,该文件将把这些数据保存到会话中。@K.B.这里我试图从外部OC到OC获取会话数据。@PanktiShah使用相同的方法,反之亦然。不要忘了首先使用JS或jquery在您想要保存会话数据的地方运行您的文件。然后在OC中检索它并为整个OC保存$this->session->data['my_data']=$\u session['my_data']代码>如何访问相册页面中的$this->session->data
。这是一个非opencart页面?@PanktiShah,仅通过您自己的自定义AJAX处理程序。在数据更改时提交AJAX请求并将其存储在服务器的会话中。@PanktiShah在发布answeer之前,我已使用OC对其进行了测试,并在同一服务器中从OC外部获取会话数据。它正在工作。在您尝试检索会话数据之前,您应该运行一个文件,该文件将把这些数据保存到会话中。@K.B.这里我试图从外部OC到OC获取会话数据。@PanktiShah使用相同的方法,反之亦然。不要忘了首先使用JS或jquery在您想要保存会话数据的地方运行您的文件。然后在OC中检索它并为整个OC保存$this->session->data['my_data']=$\u session['my_data']代码>