← Back to ApiShip for Shopaholic Support
Суть задачи. Дать пользователю выбрать метод доставки и тариф.
После того как пользователь выберет тариф, рассчитать стоимость доставки и обновить {{ cart.shipping_price }}
- Мне не понятно как использовать стандартный компонент. Там только 2 метода, которые в теории могут пригодится.
onAjaxUpdate() - непонятно какие данные ему необходимы для работы и что он делает. Из кода понятно только то, что ему требуется shipping_type_id.
getCityData($param = null) - какие параметры можно передать этому методу, для чего они используются. apiship_city_data - что должен содержать этот массив.
Общий вопрос: Какую структуру данных надо передать для работы плагина. Опишите, пожалуйста, общий принцип работы вашего плагина по шагам.
Заранее спасибо!
Удалось создать заказ. Для этого потребовались следующие данные:
order[shipping_type_id] - тип доставки
order[property][apiship_provider_key] - ключ провайдера
order[property][apiship_tariff_id] - тариф
order[property][apiship_city_guid] - fias id города
order[property][apiship_city_data][cityGuid] - дополнительно передаю это. Оно нахер не нужно, но если не передать массив, то будет ошибка, что не переданы данные города. Это однозначно баг. Так как передав это значение пустым заказ все равно будет создан и рассчитана стоимость доставки.
После всех этих действий возник другой вопрос. Почему после передачи этих данных у меня не проставляются данные в поля (Сервис доставки, Тип доставки, Тариф).
В каком виде и какие данные мне нужно передать, что бы выставить эти данные.
Далее мне нужно разделить тарифы доставки до точки и до двери. В бд тарифов нет столбца delivery_type. Но api apiship обычно присылает доставки по типу.
Значит ли это что любой тариф может использоваться как до двери, так и до точки. Или есть способ получения тарифа по типу, но он реализован как то особенно?
Last updated
Еще вопрос. В текущем виде расчет происходит после создания заказа. Есть ли способ сделать расчет заранее, что бы показать пользователю стоимость доставки, сразу после выбора тарифа.
Я пробовал сохранять корзину, но в sipping_price стоимость не изменилось. Это логично, так как я вижу расширение только ордера. Но может я что-то упустил?
1-3 of 3