我有一个opencart网站,在不同的域 domain1.com 和 domain2.com 有两个商店。
我想要的是能够通过它们共享购物车,这样如果我在 domain1.com 中将一些产品添加到购物车中并且我转到 domain2.com 我仍然会在购物车中拥有这些产品。
我见过类似的东西,但是对于不同的子域,我没有找到不同域的任何内容。例如:子域问题
我正在运行 1.5.6 版,会话文件是这样的:
class Session {
public $data = array();
public function __construct() {
if (!session_id()) {
ini_set('session.use_cookies', 'On');
ini_set('session.use_trans_sid', 'Off');
session_set_cookie_params(0, '/');
session_start();
}
$this->data =& $_SESSION;
}
function getId() {
return session_id();
}
}
如何更改此文件以共享会话和购物车?
欢迎所有帮助!
谢谢!
我不确定这是一个真正的解决方案,但我知道购物车详细信息存储在 sql 上的"客户"表中。因此,您需要更改或删除每个sql查询的位置部分,该查询为您提供购物车详细信息。
例如,删除每个查询的 store_id = x 部分。
cookie 生存期设置为 0?看来您打算销毁会话。你绝对应该尝试使用类似的东西
<?php
session_set_cookie_params(1800, '/', $_SERVER['HTTP_HOST']);
您可能需要对HTTP_HOST进行一些额外的验证,但基本上它是一个相当可靠的变量,因为Apache或Nginx依赖于它。应将其限制为您当前的主机名。