2016-05-24 11 views
2

私は異なるドメインdomain1.comとdomain2.comに2つのストアを持つopencartウェブサイトを持っています。Opencartマルチストア共有カートで異なるドメイン

私が望むのは、カートを共有することです。そのため、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(); 
    } 
} 

私はセッションとカートを共有するために、このファイルを変更することができますどのように?

すべての援助を歓迎します!

ありがとうございます!

+0

私はこのオプションを選択しなかったので、サブドメインに変更しました。 残念ながら、私はこれを解決できませんでした。 – spkkya

答えて

0

これは本当の解決策ではありませんが、私はカートの詳細がSQLの「顧客」テーブルに格納されていることを知っています。だからあなたは変更するか、どこにカートの詳細を与えるすべてのSQLクエリのセクションを削除する必要があります。

たとえば、すべてのクエリでstore_id = xセクションを削除します。

+0

私はあなたの答えを理解していますが、セッション変数によって何か簡単ではありませんか? – spkkya

0

なぜCookieの有効期間を0に設定していますか?セッションを破壊しようとしているようです。あなたは間違いなくあなたがHTTP_HOSTのためにいくつかの余分な検証を必要とするかもしれませんが、Apacheやnginxのは、それに依存しているので、基本的にはかなり信頼できる変数です

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

のようなものを使用してみてください。現在のホスト名に制限する必要があります。

+0

これはopencartの標準ですが、私はその理由を正確にはわかりません。 – spkkya

関連する問題