1

我有一个 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();
  }
}

我如何更改此文件以共享会话和购物车?

欢迎所有帮助!

谢谢!

4

2 回答 2

0

我不确定这是一个真正的解决方案,但我知道购物车详细信息存储在 sql 的“客户”表中。因此,您需要更改或删除每个 sql 查询的 where 部分,该部分会为您提供购物车详细信息。

例如删除每个查询的 where store_id = x 部分。

于 2016-05-24T13:03:01.490 回答
0

为什么将 cookie 生命周期设置为 0?看来您打算破坏会话。你绝对应该尝试使用类似的东西

<?php
session_set_cookie_params(1800, '/', $_SERVER['HTTP_HOST']);

您可能需要对 HTTP_HOST 进行一些额外的验证,但基本上它是一个相当可靠的变量,因为 Apache 或 Nginx 依赖它。应该将其限制为您当前的主机名。

于 2016-05-24T13:09:56.153 回答