Magento.Как сбросить Checkout Quote зарезервированный идентификатор? - PullRequest
1 голос
/ 04 февраля 2012

В связи с интеграцией с внешней системой во время оформления заказа мне нужно в некоторых ситуациях сбросить и предоставить новое reservedId для текущей квоты.Я перепробовал несколько методов, но безуспешнозаставить клиента выйти из системы?Я пробовал с unsetAll(), clear() & resetCheckout() методами на Mage_Checkout_Model_Session, но, похоже, они не справляются с задачей

Ответы [ 2 ]

4 голосов
/ 05 февраля 2012

Как предложил Зява , просто сделал setReservedOrderId(null) сделал это ...

Я пробовал это ранее, но проблема была (я думаю), что я делал это в потоке контроллера Javascript Теперь я просто помещаю туда флаг как новую переменную сеанса и просто нарушаю процесс с помощью

$this->_ajaxRedirectResponse();
return;

Затем, при возвращении в Checkout, если флаг установлен, сделать ...

Mage::getSingleton('checkout/session')->getQuote()->setReservedOrderId(null);

Сделал ли трюк и Magento новый зарезервированный идентификатор заказа для цитаты

1 голос
/ 24 сентября 2014

Как сказал Рауль, размещение Mage::getSingleton('checkout/session')->getQuote()->setReservedOrderId(null); в верхней части страницы оформления заказа сбрасывает reserved_order_id. Но, чтобы остаться нулевым, вы должны сохранить цитату. Итак, код был бы Mage::getSingleton('checkout/session')->getQuote()->setReservedOrderId(null)-save(); Он работал у меня на Magento CE 1.7.

...