试试这个肯定有效,但最好覆盖模型文件。
感谢这篇文章。
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 个限制:
- 购物车中的所有价格都来自您选择的商店(使用
CHECKOUT_STORE_ID
)。因此,如果您对不同的商店有不同的价格,它将无法在购物车中使用。
- 购物车中的货币将与您选择的商店中的货币相同。
- 用于编辑购物车中项目的链接不会将客户重定向到原始购物车网站。