Opencart多店分享购物车通过不同的域名

时间:2016-05-24 12:54:23

标签: php session opencart cart multistore

我有一个opencart网站,在不同的域名中有两个商店,domain1.com和domain2.com。

我想要的是能够通过它们共享购物车,这样如果我将一些产品添加到domain1.com中的购物车并且我转到domain2.com,我仍然会将这些产品放入购物车。

我见过类似的东西,但对于不同的子域名,我找不到任何针对不同域名的内容。 例如:question for subdomains

我正在运行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();
  }
}

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

欢迎所有帮助!

谢谢!

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

为什么将cookie生命周期设置为0?似乎你打算破坏会话。你绝对应该尝试使用像

这样的东西
<?php
session_set_cookie_params(1800, '/', $_SERVER['HTTP_HOST']);

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