1

我是 magento 的新手,我想做的是在不同的商店和各自的网站之间共享购物车,我已经实现了这篇文章中提供的解决方案, Magento 多个网站共享购物车,它可以工作但有一个限制,

在我的情况下也是一个问题的限制是,如果第一个从 ROOT 类别添加到购物车中,即使我们切换商店(所有商店都有不同的 ROOT 类别),它仍然在会话中,从其他商店添加的项目也共享相同的购物车会议。但是当我从任何其他商店(非默认商店)向购物车添加东西然后移动到其他商店时,每个商店的购物车会话都是独立创建的(意味着没有共享会话)。现在我想知道我在这里做错了什么或者我必须做些什么来分享那里的会议。?

4

2 回答 2

0

试试这个肯定有效,但最好覆盖模型文件。

感谢这篇文章。 Magento中的单个购物车多个网站

我采用了不同的方式并且它可以工作:我有多个域的单一安装和存储和单一 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;
   }

使用所有产品和 SSL 将CHECKOUT_STORE_ID值更改为您的 Magento 商店 ID。1

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

Mage::app()->getStore()

并将它们更改为:

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

就是这样!

清除 Magento 缓存并检查您的商店。现在您的 Magento 将为不同的多域商店网站使用一个购物车。此解决方案有 3 个限制:

  1. 购物车中的所有价格都来自您选择的商店(使用 CHECKOUT_STORE_ID)。因此,如果您对不同的商店有不同的价格,它将无法在购物车中使用。
  2. 购物车中的货币将与您选择的商店中的货币相同。
  3. 用于编辑购物车中项目的链接不会将客户重定向到原始购物车网站。
于 2013-11-09T19:29:46.320 回答
0

试试这个。我是为 Magento EE 1.12 上的一个项目开发的东西,但它也应该适用于 CE。Magento 已经在同一网站下的商店视图之间共享购物车。代码背后的主要思想是让 magento 为所有商店视图共享购物车,而不仅仅是同一网站中的视图。
我不确定它是否适用于任何网站配置,但您可以试一试。

于 2013-11-08T07:50:59.920 回答