Магазинная продукция поставляется от разных поставщиков. Требуется создать несколько заказов для каждого поставщика на основе его товаров в корзине за один заказ. Есть ли расширение для решения этой задачи, или я должен начать разрабатывать пользовательский модуль проверки. А как насчет горячих точек для создания такого расширенного видения опытных разработчиков Magento? Можете ли вы объяснить мне краткую архитектуру потока покупок? Спасибо намного больше!
checkout
code
order-splitting
mageUz
источник
источник
Ответы:
Это легко выполнимо с переписать
checkout/type_onepage
модель.В этом классе переопределите
saveOrder()
метод следующим образом:Но имейте в виду, что в Magento платеж связан со счетом, а каждый счет связан с заказом.
Следовательно, это означает, что как только у вас будет несколько заказов, вы также разделите платежи . Так что это возможно только в том случае, если способ оплаты не требует взаимодействия с пользователем во время оплаты.
ОБНОВЛЕНИЕ : оригинальный ответ, делегированный на
parent::save()
который должен был бытьparent:saveOrder()
. Это исправлено в примере кода.источник
saveOrder
все еще присутствует и активен в Magento CE 1.9, как и всегда.Следующее проверено в CE версии 1.9.0.x
ВАЖНО! Вам нужно настроить способы оплаты, чтобы получить общую сумму из предложения.
источник
$group[] = $item; // all other items in one order
можно хранить несколько позиций на заказ, вы можете легко изменить так, чтобы у каждого поставщика был свой$group
.$quote->Mage::getModel('sales/quote')->load($lastOrder->getQuoteId())
. Тогда есть много итогов$quote
, из которых вы можете получить , один из которых$quote->getGrandTotal()