Абстрактный класс типа доставки. Тип доставки содержит в себе функции для расчета стоимости в зависимости от различных параметров заказа.
Поля данных | |
| const | EXTRA_KEY_PVZ_DATA = 'pvz_data' |
Защищенные члены | |
| getAdditionalHtml (Order $order) | |
| calcDeliveryPeriod (Order $order,?Address $address=null,?Delivery $delivery=null) | |
| isDeliveryFree ($delivery, $cost, $order) | |
Защищенные данные | |
| $common_log | |
| $delivery | |
| $opt = [] | |
| actionOrderQuery | ( | Order | $order | ) |
Действие с запросами к заказу для получения дополнительной информации от доставки
| Order | $order | - объект заказа |
| addError | ( | $error_text | ) |
Добавляет ошибку в массив ошибок
| string | $error_text | - текст ошибки |
| addToOrderAdminComment | ( | $order, | |
| $text | |||
| ) |
Добавление админского комментария об ошибке работы с доставкой
| Order | $order | - объект заказа |
| string | $text | - текст для добавления |
| applyExtraChangeDiscount | ( | $delivery, | |
| $cost, | |||
| ?Order | $order = null |
||
| ) |
Применяет наценку или скидку к итоговой цене за доставку
| Delivery | $delivery | - объект доставки |
| float | $cost | - цена за доставку |
| Order | $order | - объект заказа |
| RSException |
| beforeOrderWrite | ( | Order | $order | ) |
Корректировка заказа перед его сохранением
| Order | $order | - объект заказа |
Рассчитывает структурированную информацию по сроку, который требуется для доставки товара по заданному адресу
| Order | $order | объект заказа |
| Address | $address | объект адреса |
| Delivery | $delivery | объект доставки |
| canCalculateCostByDeliveryAddress | ( | Address | $address | ) |
Возвращает true если при оформлении заказа стоимость доставки можно рассчитать на основе адреса доставки, без указания дополнительных параметров
| Address | $address | - адрес |
| cleanDeliveryCostCache | ( | ) |
Очищает кэш предыдущих расчетов стоимости
| clearErrors | ( | ) |
Очищает ошибки доставки
| executeWebHook | ( | HttpRequest | $http_request | ) |
Обрабатывает запрос веб-хука
| HttpRequest | $http_request |
|
protected |
Возвращает дополнительный HTML для публичной части
| Order | $order | - объект заказа |
| Delivery | $delivery | - объект доставки |
| Order | null | $order | - объект заказа |
| array | $pickpoints | - массив пунктов самовывоза |
| \Exception | |
| \SmartyException |
| Delivery | $delivery | - объект доставки |
| Order | null | $order | - объект заказа |
| \SmartyException |
| getAdminDeliveryParamsHtml | ( | Order | $order | ) |
Возвращает HTML для указания параметров доставки в админке
| Order | $order | - заказ |
| \SmartyException |
| getAdminHTML | ( | Order | $order | ) |
Возвращает дополнительный HTML для админ части в заказе
| Order | $order | - объект заказа |
| getCheckoutError | ( | Order | $order | ) |
Возвращает ошибки, мешающие оформить заказ с данным способом доставки
| Order | $order | - заказ |
Возвращает шаблон с дополнительной информацией для мобильного приложения v2
| Order | $order | - объект заказа |
| Delivery | $delivery | - объект доставки |
| getDelivery | ( | ) |
Возвращает объект доставки
|
abstract |
Возвращает стоимость доставки для заданного заказа. Данный метод запрещено вызывать напрямую, для получения стоимости доставки используется прослойка getDeliveryFinalCost
| Order | $order | - объект заказа |
| Address | $address | - Адрес доставки |
| Delivery | $delivery | - объект доставки |
| bool | $use_currency | - конвертировать стоимость в валюту заказа |
Возвращает цену в текстовом формате, т.е. здесь может быть и цена и надпись, например "Бесплатно"
| Order | $order | - объект заказа |
| Address | $address | - объект адреса |
| Delivery | $delivery | - объект доставки |
| RSException |
| getDeliveryDelayForCart | ( | $order | ) |
Возвращает количество дней, на которое нужно отодвинуть срок доставки. Обычно это срок поставки товаров на склад.
| $order |
Возвращает дополнительную информацию о доставке (например сроки доставки, но можно возвращать еще что-то)
| Order | $order | - объект заказа |
| Address | $address | - Адрес доставки |
| Delivery | $delivery | - Объект доставки |
Возвращает итоговую стоимость доставки для заданного заказа. Результат возвращается из кэша при повторном вызове. Для очистки кэша можно использовать ->cleanDeliveryCostCache()->getDeliveryFinalCost()
| Order | $order | - объект заказа |
| Address | $address | - Адрес доставки |
| bool | $use_currency | - конвертировать стоимость в валюту заказа |
| RSException |
| getDeliveryParamsHtml | ( | Order | $order | ) |
Возвращает HTML для указания параметров доставки
| Order | $order | - заказ |
| \SmartyException |
Возвращает структурированную информацию по сроку, который требуется для доставки товара по заданному адресу. Сторонние модули могут откорректировать информацию о сроках доставки
| Order | $order | объект заказа |
| Address | $address | объект адреса |
| Delivery | $delivery | объект доставки |
|
abstract |
Возвращает описание типа доставки
| getErrors | ( | ) |
Получает массив ошибок
| getErrorsStr | ( | $glue = ", " | ) |
Возвращает ошибки в виде строки склеевая символами
| string | $glue | - символы для склеивания |
| getFormHtml | ( | ) |
Возвращает HTML форму данного типа доставки
| \SmartyException |
| getFormObject | ( | ) |
Возвращает ORM объект для генерации формы или null
| getNonCityRequiredAddressFieldsObjects | ( | ) |
Возвращает необходимые поля адреса, исключая определяющие выбор города
| getOption | ( | $key = null, |
|
$default = null |
|||
| ) |
Возвращает значение доп. поля доставки
| string | $key | - ключ |
| mixed | $default | - значение по умолчанию |
| getPvzByAddress | ( | Address | $address | ) |
Возвращает список доступных для указанного адреса ПВЗ
| Address | $address | - адрес получателя |
| Order | $order | - объект заказа |
| Address | $address | - объект адреса |
| getPvzListFilters | ( | ?Order | $order = null | ) |
| Order | $order | - объект заказа |
| getSelectedPvz | ( | Order | $order | ) |
Возвращает указанный в заказе ПВЗ
| Order | $order | - заказ |
| getSelectError | ( | Order | $order | ) |
Возвращает ошибки, мешающие выбрать способ доставки в списке доставок
| Order | $order | - заказ |
|
abstract |
Возвращает идентификатор данного типа доставки. (только англ. буквы)
|
abstract |
Возвращает название расчетного модуля (типа доставки)
| getTrackNumber | ( | Order | $order | ) |
Возвращает трек номер для отслеживания
| Order | $order | - объект заказа |
| getTrackNumberUrl | ( | Order | $order | ) |
Возвращает ссылку на отслеживание заказа
| Order | $order | - объект заказа |
| hasCheckoutError | ( | Order | $order | ) |
Возвращает наличие ошибки, мешающей оформить заказ
| Order | $order | - заказ |
| hasErrors | ( | ) |
Возвращает есть ошибки при работе метода или нет
| hasPvz | ( | ) |
Возвращает, поддерживает ли данный способ доставки ПВЗ
| hasSelectError | ( | Order | $order | ) |
Возвращает наличие ошибки, мешающей выбрать доставку
| Order | $order | - заказ |
|
protected |
Возвращает true, если доставка должна быть бесплатной
| isMyselfDelivery | ( | ) |
Возвращает true, если тип доставки предполагает самовывоз
| loadOptions | ( | array | $opt = null | ) |
Устанавливает настройки типа доставки Также, в данном методе могут быть инициализированы параметры связанных вспомогательных объектов
| array | null | $opt |
Функция срабатывает после создания заказа в БД
| Order | $order | - объект заказа |
| Address | $address | - Объект адреса |
| removeFromOrderDeliveryErrorInfoLine | ( | $order | ) |
Удаление админского комментария об ошибках в доставке
| Order | $order | - объект заказа |
| setDelivery | ( | Delivery | $delivery | ) |
Устанавливает объект доставки
| Delivery | $delivery |
| setOption | ( | $key_or_array = null, |
|
$value = null |
|||
| ) |
Устанавливает значение доп. поля доставки
| string | $key_or_array | |
| mixed | $value |
| Order | $order | - объект заказа |
| Address | $address | - Адрес доставки |
| toFormatedXML | ( | $xml_string | ) |
Переводит строку XML в форматированный XML
| string | $xml_string | - строка XML |
| validate | ( | Delivery | $delivery | ) |
Производит валидацию текущих данных в свойствах
| Delivery | $delivery | - объект способа доставки |
| Delivery | $delivery | - объект текущей доставки |
| Order | $order | - объект текущего заказа |
| string | $content | - содержимое для обёрки |
| \Exception | |
| \SmartyException |
| writeToLog | ( | $key, | |
$value = '' |
|||
| ) |
Записывает в лог файл информацию
| string | $key | - ключевое слово или фраза для записи, будет записана перед информацией в логе |
| mixed | $value | - информация для записи |
|
protected |
|
protected |
|
protected |
| const EXTRA_KEY_PVZ_DATA = 'pvz_data' |