如果你有多个门店配置你的Magento,你想对所有的多单店车这篇文章是你所需要的。
所有的多门店将不会单独的网站,他们都将拥有一个购物车(多店之间共享内容的车)。 也是你的客户将有单一账户的所有多店。
1.共享客户账户。
第一步是将共享多商店之间的客户帐户。 你可以在这里配置此功能:系统 - >配置 - >用户配置 - >分享客户账户。
Magento的网站之间
2.共享会话。
下一步是Magento的网站之间共享用户会话。
有三种可能的店配置:
1.如果你的网站是位于一个域名,但在不同的目录,例如:“/stores/store1”和“/stores/store2”你可以设置在系统的“Cookie路径”,以“/存储/”- >配置 - >网络 - >会话Cookie管理。
2.如果您的网站位于不同的子域如“a.xx.com”和“b.xx.com”,你就可以设置“Cookie域”在系统“的”- >配置 - >网络 - >会话Cookie管理。
3.如果有不同的域,在这种情况下,可以添加会话ID到URL另一个存储。使用此建设“法师:: getModel( 核心/URL”) - > addSessionParam() ->的getURL( ... )“,以获取与会话参数的URL。
之后,您的客户将能够无需重新登录多店Magento的网站之间进行切换。换句话说,如果用户将在一个Magento的网站登录,他将能够看到用他的第一家商店账户另一个多店Magento的网站。 但车将是每个Magento的网站不同。
3.分享Magento的多店铺网站之间的车的内容。
Magento的使用单独的车会为每个店面,原因是不同的多店的网站有不同的产品和不同的产品设置每个专卖店(如价格,数量等)。
为了克服这个限制,你需要有一个网站/店,将有来自其他网站所有可用的产品。如果你没有这样的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 扩展 Mage_Core_Model_Session_Abstract {
常量 CHECKOUT_STORE_ID=1;
公共职能getCheckoutStoreId() { 回到自我:: CHECKOUT_STORE_ID; }
... CHECKOUT_STORE_ID值“1”更改为所有产品的Magento商店ID。
接着,找到文件中的所有这样的元件:
1 法师::应用程序() - > getStore() 并将其更改为: 1 法师::应用程序() - > getStore($这 - >getCheckoutStoreId())
清除Magento的缓存,并检查你的店。
现在,您的Magento将使用一个购物车的不同的多店的网站。
需要注意的是有这种解决方案的若干限制:
1.在所有车的价格将会从您选择(使用CHECKOUT_STORE_ID)商店。所以,如果你有不同的价格不同的商店也不会在车上班。
2.如在商店,你选择了购物车中的货币将是相同的。
3.在购物车的链接,编辑的项目将重定向用户到原车的网站。它可以改变它,你可以重写的getURL方法车中的物品遮挡或覆盖控制器。
如果不明白,请用google搜索。这是英文转译。有很多错误。