我正在开发一家关于magento的多店铺商店。问题是应该将客户重定向到最近的商店。
我尝试实施的解决方案是在页面上放置一个半透明的div叠加层,并询问街道名称和号码,并根据这些值将客户重定向到正确的商店。
我现在面临的问题是,我不知道如何在会话中保存该地址,以后在结帐时我再也不会问他们了。
我试图做的是:
$address = Mage::getModel('checkout/session')->getQuote()->getBillingAddress();
$address->setStreet('test_value');
$address->save();
然而,在一次刷新后,信息就消失了。
你怎么建议我这样做?
更新
所有商店都在同一个网站上,所以我认为会话是一样的(至少cookie没有改变,我查了一下)。
在90%的情况下,客户将被取消注册,在这种情况下,客户ID的解决方案是否适用?
谢谢!
答案 0 :(得分:0)
是的,因为你说你要去不同的商店,这意味着不同的会话,所以这些价值不会结转......我会建议一个控制器电话(你想要把商店的基本网址带到to)带参数的引用ID和商店ID从哪里被重定向,客户ID ...和控制器中的重置会话...基本上做:
设置客户
Mage::getSingleton('customer/session')->setCustomer(Mage::getSingleton('customer/customer')->load($customerId));
设置报价
Mage::getSingleton('checkout/cart')->getQuote()->setParentQuoteId($quoteId);
foreach (Mage::getModel('sales/quote')->setStoreId($originalStoreId)->load($quoteId)->getAllItems() as $quote_item) {
$this->addToBasket($quote_item);
}
设置优惠券等(如果有),然后重定向回购物篮。
应该工作