Skip to content
  1. Компоненты
  2. miniShop2
  3. Разработка
  4. Службы
  5. Доставка

Доставка

Класс доставки должен реализовывать интерфейс msDeliveryInterface в котором всего 3 метода:

  • getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0.0) - считает и возвращает стоимость доставки. Принимает объект заказа, объект доставки и текущую стоимость.
  • success - успешный ответ
  • error - ошибка

Последние 2 метода в обычной логике не используются.

Стандартный класс доставки msDeliveryHandler работает следующим образом:

  1. Прибавляет стоимость за вес: weight_price × total_weight корзины
  2. Проверяет free_delivery_amount — если сумма корзины достигает этого значения, добавочная стоимость доставки (price) обнуляется
  3. Если бесплатная доставка не достигнута, прибавляет добавочную стоимость price (в абсолютном выражении или в процентах от суммы корзины)

Настройка стоимости за расстояние (distance_price) игнорируется и нужна только для расширяющих классов.

Для подключения своего собственного класса доставки смотрите соответствующий раздел.