есть уже готовый сайт на ocStore 2.3.0.2.3
Нужно доработать блок, связанный с модулями доставки.
3 модуля CDEK, DPD, Почта России куплены и внедрены с некоторой доработкой интерфейса оформления заказа.
Расчет доставки базируется на городе,
Сейчас сделано следующим образом:
Клиент начинает вводить город, возникает подстраивающийся список (DaData), клиент выбирает из него город, после чего происходит расчет доставок на этот город в модулях. Что не устраивает:
1. расчет и показ доставок происходит только если клиент выбрал город из списка дадата, если же он все ввел сам или дадата глючила, то расчета не происходит и варианты доставок не появляются.
2. некоторые города по разному называются в разных модулях доставки, например Минск в СДЭК называет "Минск, Минская обл.", поэтому СДЭК не выводится, а для DPD необходимо обязательно перекодировать буквы "Ё" в "Е"
Собственно, описание задачи:
изначально область не заполнена
страна по умолчанию - «РФ».
Клиент начинает вводить город, возникает подстраивающийся список (сейчас DaData) и клиент может выбрать свой город из него, в этом случае автоматически проставляются область и страна. Также клиент может полностью завести город вручную (это также происходит, когда у клиента включено автозаполнение) или вообще клиент может внести неполное название, например «Домодед» вместо «Домодедово», в этом случае область и страна остаются не заполнены.
1.1. Добавить кнопку «оформить в 1 клик»
1.2. Добавить кнопка «рассчитать доставку», по ним рассчитываются варианты в модулях доставки СДЭК, ДПД, почта
1.3. предусмотреть возможности перекодировки города для отдельных модулей доставки, например Домодедово в СДЭК обозначен как «город Домодедово», соотв сейчас на него не выводится вариант доставки СДЭК, а для расчета доставки DPD заменять Ё на Е
1.4. оптимальный вариант видится примерно такой - каждый модуль доставки отбирает города из своих таблиц городов по совпадению наименования с полем «город» и «область» (если поле область не указана, то область в отборе не участвует). Результат отбора модуль доставки помещает в список совпавших городов. Список ограничить макс 10 городов.
1.4.1. Если в списке город получился один, то в модуле сразу происходит расчет доставки для него
1.4.2. Если в списке несколько городов, то там, где обведено красным, сделать список выбора и сразу рассчитать доставку для первого города из списка, далее клиент может из этого списка поменять город, то пересчитывается доставка на новый город
1.5. на картинке п.4 «подберите мне доставку по моему адресу» присутствует всегда.
1.6. на картинке п.5 «самовывоз из офиса» присутствует всегда.
1.7. После того, как клиент тыкает в вариант доставки (1-3), появляется подгруппа выбора адреса (обведено красным), можно продублировать в наименование способа доставки в заголовок подгруппы «адрес доставки» (выделил голубым)
2. Для п. 1.5 «подберите мне доставку по моему адресу» поле адреса как вариант «С»
3. Для п. 1.6 «самовывоз из офиса» поле адреса не появляется