Вероятно, sanest способ справиться с этим - создать два заказа для каждого типа продукта, каждый из которых будет отправляться по одному и тому же адресу.Это также IMO имеет больше смысла с точки зрения отслеживания магазинов, так как вы можете обращаться с каждым независимо друг от друга.
Чтобы вы выбрали правильный путь (поскольку Magento особенно загадочен в этой части себя), вы должны прочитать Inchoo программно создает заказ в Magento пост и от того же автора Программирует создание клиента и заказ в Magento с полным оформлением одной страницы оформления заказа .
В основном, как я вижу это происходитis:
- Получить заказ клиента
- Выполнить прохождение по каждому продукту внутри заказа и разделить его на два массива для каждого типа продукта
- Создать отдельный заказ длякаждый тип продукта и использовать разные способы доставки для каждого.
Возможно, вам придется расширить некоторые контроллеры ИЛИ сделать это нестандартным способом и использовать для этого вспомогательные функции, твердые детали будутинтеграция модулей оплаты / доставки в ваш процесс заказа.Пройдя этот путь, вы создадите полный процесс оформления заказа, так как одностраничный заказ, который предоставляет Magento, не будет работать и доставит слишком много хлопот тем, чтобы приступить к работе из-за того, как он использует AJAX.
Еще одна альтернативачтобы подключиться к событиям предварительного создания заказов Magento и создать там заказы, используя уже определенные данные заказа, разделить их на два заказа, но это то, что я никогда не слышал и не видел реализованным в данный момент, поэтому вам придется делать это "с завязанными глазами"так сказать.
Более простым подходом было бы использование настраиваемого поля, которое определяет способ доставки вашего продукта, таким образом, вы просто добавляете это и не заботитесь о пользовательских заказах.Вы просто реагируете на это, однако отслеживание станет в основном невозможным ИМО.