Magento: сохранить платежный адрес клиента в сеансе - PullRequest
1 голос
/ 17 августа 2011

Я разрабатываю универсальный магазин на magento. Проблема в том, что клиенты должны быть перенаправлены в ближайший магазин.

Решение, которое я пытаюсь реализовать, состоит в том, чтобы поместить полупрозрачный оверлей div на страницу и запросить название улицы и номер, и на основе этих значений перенаправить клиента в нужный магазин.

Проблема, с которой я сейчас сталкиваюсь, заключается в том, что я не знаю, как сохранить этот адрес в сеансе, что позже при оформлении заказа я не буду спрашивать их еще раз.

То, что я пытался сделать, это:

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

Однако после однократного обновления информация исчезает.

Как бы вы порекомендовали мне это сделать?

UPDATE

  • Все магазины находятся на одном веб-сайте, поэтому я думаю, что сессия одинаковая (по крайней мере, cookie не меняется, я проверил).

  • В 90% всех случаев клиент будет незарегистрирован, применимо ли в этом случае решение с идентификатором клиента?

Спасибо!

1 Ответ

0 голосов
/ 17 августа 2011

Да, потому что вы говорите, что идете в другое хранилище, что означает другой сеанс, поэтому эти значения не переносятся ... Я бы порекомендовал вызов контроллера (с базовым URL магазина, который вы хотите перенести в корзину.к) с параметром идентификатор кавычки и идентификатор магазина, откуда он перенаправляется, и идентификатор клиента ... и сброс сеанса в контроллере ... в основном выполните:

установите клиента

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);                
}

установить ваучеры и т. Д., Если они есть, и затем перенаправить обратно в корзину.

Должно работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...