Как восстановить цитату в Magento при возвращении к OnePage Checkout?
-
11-10-2019 - |
Вопрос
Я использую Magento Enterprise с модулем безопасного платежа DataCash 3D.
В случае ошибки в процессе оплаты я хочу, чтобы пользователь вернулся в OnePage Checkout с их корзиной нетронутой. В настоящее время, когда пользователь возвращается к оформлению, корзина пуста, поэтому он затем перенаправляется в «Прокат/корзину», потому что у них нет предметов.
Я подумал, что это может быть проблемой с моим кодом, поэтому у меня сразу же перенаправляется первичное действие платежей с ошибкой обратно в OnePage Checkout.
public function redirectAction() {
Mage::getSingleton('core/session')->addError("There was a problem with the payment gateway. Please try again");
$session = Mage::getSingleton('checkout/session');
return $this->_redirect('checkout/onepage/', array('_secure'=>true));
}
Однако при возвращении на страницу оформления заказа корзина пуста. Добавление в следующем журнале в индексакцию OnePage Checkout я получаю «Цитату». Глядя в базе данных, цитата имела свое активное состояние на 0.
error_log("Quote ".Mage::getSingleton('checkout/session')->getQuoteId());
Я не столкнулся с этой проблемой со стандартным Magento только с Enterprise. Кто -нибудь столкнулся с этой проблемой? В идеале я не хочу, чтобы клиентам снова приходилось добавлять продукты в корзину. Это как противоречиво с каким -то модулем Magento Enterprise.
Заранее благодарю за любую помощь!
Решение
В основном вы ответили на свой вопрос. Загрузите цитату (если она недоступна) и выполните это:
$yourQuote()->setIsActive(true);