3

我们有 5 个网站(每个都有不同的商店视图和设计)在单个 Magento 安装 (1.7) 上运行,并且都设置在不同的域上。现在我们想在所有 5 个网站上共享客户数据和购物车,但它不起作用。我们已经将 Persistent Shopping cart 设置为 true 并将 Share Customer Accounts 设置为 Global 但它不起作用。

在这方面的任何帮助将不胜感激。谢谢!

4

3 回答 3

4

You need to create 1 website, 1 store and 5 store view in it. Different theme/skin can be assigned at store view level.

For Product sharing issue. you can create 5 store and then each store have separate store view. On each store we can define separate root category.

In this way cart and customer data can be shared.

于 2012-11-12T15:59:54.860 回答
1

我采用了不同的方式并且它可以工作:我有多个域的单一安装和存储和单一 SSL

我有主要网站,其中有我其他网站的所有产品,并且设置了 SSL。
1. 在多商店之间共享客户帐户:
您可以在此处配置此功能: System -> Configuration -> Customer Configuration -> Share Customer Accounts ->Global
2. 在 Magento 多商店网站之间共享购物车内容:

Magento 为每个商店使用单独的购物车会话。要在结帐会话中使用一个网站,您需要修改“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;
   }

将 CHECKOUT_STORE_ID 值“1”更改为您的 Magento 商店 ID,所有产品均为 SSL。

接下来,在文件中找到所有此类元素:

Mage::app()->getStore()

并将它们更改为:

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

就是这样!

清除 Magento 缓存并检查您的商店。现在您的 Magento 将为不同的多域商店网站使用一个购物车。
此解决方案有 3 个限制:
1. 购物车中的所有价格都来自您选择的商店(使用 CHECKOUT_STORE_ID)。因此,如果您对不同的商店有不同的价格,它将无法在购物车中使用。
2. 购物车中的货币将与您选择的商店中的货币相同。
3. 编辑购物车中商品的链接不会将客户重定向到原始购物车网站。

于 2013-04-14T15:09:32.380 回答
1

正如 Faisal 所建议的,我们应该使用 1 个网站、1 个商店和多个商店视图来共享购物车内容。

在我们的场景中,所有商店视图都设置为不同的域,因此如果客户未登录,则购物车会话不会继续。为了解决这个问题,我们所要做的就是在 System > Configuration > 中将“Cookie Path”设置为 /网页 > 会话 Cookie 管理

饼干路径

于 2012-11-13T15:54:43.150 回答