3

単一の Magento インストール (1.7) で実行されている 5 つの Web サイト (それぞれストア ビューとデザインが異なる) があり、すべてが異なるドメインに設定されています。顧客データとショッピング カートを 5 つの Web サイトすべてで共有したいのですが、うまくいきません。Persistent Shopping cart を true に設定し、Share Customer Accounts を Global に設定しましたが、機能していません。

この点で何か助けていただければ幸いです。ありがとう!

4

3 に答える 3

4

1 つの Web サイト、1 つのストア、および 5 つのストア ビューを作成する必要があります。ストア ビュー レベルで異なるテーマ/スキンを割り当てることができます。

製品共有の問題について。5 つのストアを作成すると、各ストアに個別のストア ビューが表示されます。各ストアで、個別のルート カテゴリを定義できます。

このようにして、カートと顧客データを共有できます。

于 2012-11-12T15:59:54.860 に答える
1

Faisal が提案したように、カートの内容を共有するには、1 つの Web サイト、1 つのストア、および複数のストア ビューを使用する必要があります。

私たちのシナリオでは、すべてのストア ビューが異なるドメインに設定されていたため、顧客がログインしていない場合、カート セッションは引き継がれませんでした。ウェブ > セッション Cookie の管理

Cookie パス

于 2012-11-13T15:54:43.150 に答える
1

私はそれを別の方法で作成しましたが、機能します。複数のドメインとストアと単一のSSLを備えた単一のインストールがあります

私は他のウェブサイトからのすべての製品を持っているメインのウェブサイトを持っており、SSL で設定されています。
1. マルチストア間で顧客アカウントを共有する
: ここでこの機能を構成できます: System -> Configuration -> Customer Configuration -> Share Customer Accounts ->Global
2. Magento マルチストア Web サイト間でカートの内容を共有します。

Magento は、ストアごとに個別のカート セッションを使用します。チェックアウト セッションで 1 つの Web サイトを使用するには、「Mage_Checkout_Model_Session」クラスを変更する必要があります。
このファイルをコピーします:app/code/core/Mage/Checkout/Model/Session.php に:app/code/local/Mage/Checkout/Model/Session.php.

その後、次のソース コードをクラスに追加します。

class Mage_Checkout_Model_Session extends Mage_Core_Model_Session_Abstract
{
   const CHECKOUT_STORE_ID = 1;

   public function getCheckoutStoreId()
   {
      return self::CHECKOUT_STORE_ID;
   }

すべての製品と SSL を使用して、CHECKOUT_STORE_ID 値「1」を Magento ストア ID に変更します。

次に、ファイル内のそのような要素をすべて見つけます。

Mage::app()->getStore()

それらを次のように変更します。

Mage::app()->getStore($this->getCheckoutStoreId())

それだけです!

Magento キャッシュをクリアしてストアを確認します。これで、Magento は異なるマルチドメイン ストアの Web サイトに対して 1 つのカートを使用します。
このソリューションには 3 つの制限があります
。 1. カート内のすべての価格は、選択したストアからのものになります (CHECKOUT_STORE_ID を使用)。そのため、店舗ごとに異なる価格を設定している場合、カートでは機能しません。
2. カート内の通貨は、選択したストアの通貨と同じになります。
3. カート内のアイテムを編集するためのリンクは、顧客を元のカート Web サイトにリダイレクトしません。

于 2013-04-14T15:09:32.380 に答える