单车在Magento的多个网站

时间:2012-11-12 15:25:58

标签: magento magento-1.7

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

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

3 个答案:

答案 0 :(得分:4)

您需要在其中创建1个网站,1个商店和5个商店视图。可以在商店视图级别分配不同的主题/皮肤。

对于产品分享问题。您可以创建5个商店,然后每个商店都有单独的商店视图。在每个商店,我们可以定义单独的根类别。

通过这种方式可以共享购物车和客户数据。

答案 1 :(得分:1)

根据Faisal的建议,我们应该使用1个网站,1个商店和多个商店视图来分享购物车内容。

在我们的场景中,所有商店视图都设置为不同的域,因此如果客户未登录,则购物车会话不会结转。为此,我们所要做的就是将“Cookie路径”设置为/在系统中>配置>网络>会话Cookie管理

Cookie Path

答案 2 :(得分: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.用于编辑购物车中商品的链接不会将客户重定向到原始购物车网站。