Разделите заказ на отдельные заказы и рассчитайте доставку отдельно с помощью UPS и FedEx и разных адресов происхождения


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

Во-первых, мне нужно разделить товары в корзине на разные заказы для расчета доставки. Я хочу, чтобы заказы были отсортированы по значению атрибута "поставщик". "Поставщик" - это атрибут, который мы добавили в систему и который применим для всех простые продукты. Так, скажем, в корзине есть розовая рубашка со значением "поставщик" "1", карандаш со значением "поставщик" "1" и голубая рубашка со значением "поставщик" "2". Все товары со значением "поставщик" "1" должны быть одним заказом, в то время как товар со значением "поставщик" "2" должен быть другим заказом. Я вижу , что этот другой вопрос отвечает на эту дилемму, но затем поднимает другой. Как мне это сделать, но отображать отдельные заказы как один заказ во время оформления заказа клиентам и только собирать оплату один раз?

Во-вторых, мне нужно рассчитать доставку с помощью стандартных функций доставки UPS и Fedex Magento, но с адресом отправления, который определяется номером значения "поставщик" (хранится в отдельной таблице базы данных). Любые предложения приветствуются!

Я использую фрагменты кода, чтобы начать с здесь и здесь.

У меня, вероятно, возникнет несколько вопросов, но первые из них выделены жирным шрифтом выше.

ОБНОВЛЕНИЕ Я решил, что было бы лучше переопределить основной модуль magento с несколькими отправками, чтобы сделать то, что я пытаюсь сделать. Пожалуйста, помогите мне найти, где и что использовать для управления функциями Magento с несколькими отправками, чтобы разделить товары заказа на отгрузки на основе атрибута "поставщик"! Я борюсь с этим.

Author: Community, 2013-08-20

1 answers

Здесь следует учитывать, что вам, возможно, потребуется лишь внести некоторые косметические изменения в шаблоны множественной доставки (template/checkout/multishipping/), чтобы два заказа просто отображались для клиента как один заказ. Шаблоны shipping.phtml и overview.phtml разделяют два заказа, каждый с заголовком (Адрес 1 из 2 и т. Д.) И другой копией, чтобы показать, что это два заказа.

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

Следующим шагом будет обработка различных источников доставки на основе атрибута поставщика. Возможно, это можно было бы сделать в Mage_Shipping_Model_Shipping. Вы можете видеть прямо вверху, где Magento берет адрес источника доставки из конфигурации, а затем далее в методе requestToShipment() элементы адреса источника назначаются запросу на доставку (который, я полагаю, будет использоваться позже в зависимости от вызываемого метода доставки).

Что может быть, по крайней мере, это направление, в котором можно двигаться. Перечитывая ваш вопрос и ваше обновление, у меня складывается впечатление, что вы делаете это более сложным, чем это необходимо. Всегда помните, что, как правило, лучше позволить Magento делать то, что он хочет, и изменять только небольшие фрагменты для обработки ваших конкретных случаев. Большая часть того, что вам требуется, уже выполнена в core, поэтому кажется немного глупым переписывать компоненты с несколькими отправками, когда могут быть более простые варианты.

 3
Author: pspahn, 2013-08-29 06:12:02