2011-08-17 17 views
1

私はマゼンタでマルチストアショップを開発しています。問題は、顧客は可能な限り最寄りのショップにリダイレクトする必要があるということです。Magento:顧客の請求先住所をセッションに保存する

私が実装しようとしている解決策は、ページに半透明のdivオーバーレイを配置し、通りの名前と番号を要求し、これらの値に基づいて顧客を適切な店舗にリダイレクトすることです。

私が今直面している問題は、セッションでそのアドレスを保存する方法がわからないことです。後でチェックアウトするともう一度質問しません。

私は何をしようとしたことである:

$address = Mage::getModel('checkout/session')->getQuote()->getBillingAddress(); 
$address->setStreet('test_value'); 
$address->save(); 

しかし情報がなくなっている、単一のリフレッシュ後。

どうすればよいですか?

UPDATE:

  • すべての店が同じウェブサイト上にあるので、私はセッションが同じだと思います(少なくとも、クッキーは私がチェックし、変更されません)。

  • すべてのケースの90%において、顧客は登録解除されます。この場合、顧客IDが適用されるソリューションは適用されますか?

ありがとう!

答えて

0

はい、別の店に行っていると言っているので、別のセッションを意味するので、これらの値は持ち越されません...私はコントローラの呼び出しをお勧めします(あなたはカートを運びたい店のベースURL以上の)パラメータを使用して引用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);     
} 

バウチャーなどがある場合はそれを設定し、バスケットにリダイレクトします。

+0

お返事ありがとうございます。アップデートをご覧ください! – s3v3n

+0

誰でもOPのアップデートに関する情報はありますか? –

関連する問題