Версия: 5.x
Класс AbstractType

Подробное описание

Абстрактный класс типа доставки. Тип доставки содержит в себе функции для расчета стоимости в зависимости от различных параметров заказа.

Открытые члены

 loadOptions (array $opt=null)
 
 getTitle ()
 
 getDescription ()
 
 getShortName ()
 
 getDeliveryExtraText (Order $order, Address $address=null, Delivery $delivery=null)
 
 somethingWrong (Order $order, Address $address=null)
 
 onOrderCreate (Order $order, Address $address=null)
 
 getFormObject ()
 
 getAdminHTML (Order $order)
 
 isMyselfDelivery ()
 
 actionOrderQuery (Order $order)
 
 validate (Delivery $delivery)
 
 getOption ($key=null, $default=null)
 
 setOption ($key_or_array=null, $value=null)
 
 getFormHtml ()
 
 getAddittionalHtml (Delivery $delivery, Order $order=null)
 
 getAdditionalHtmlForPickPoints (Delivery $delivery, Order $order=null, $pickpoints=array())
 
 getAdminAddittionalHtml (Order $order=null)
 
 addToOrderAdminComment ($order, $text)
 
 removeFromOrderDeliveryErrorInfoLine ($order)
 
 wrapByWidjet (Delivery $delivery, Order $order=null, $content)
 
 getDeliveryCost (Order $order, Address $address=null, Delivery $delivery, $use_currency=true)
 
 getDeliveryCostText (Order $order, Address $address=null, Delivery $delivery)
 
 getDeliveryPeriod (Order $order, Address $address=null, Delivery $delivery=null)
 
 applyExtraChangeDiscount ($delivery, $cost, Order $order=null)
 
 toFormatedXML ($xml_string)
 
 writeToLog ($key, $value= '')
 
 getTrackNumber (Order $order)
 
 getTrackNumberUrl (Order $order)
 
 getErrorsStr ($glue=", ")
 
 getErrors ()
 
 hasErrors ()
 
 clearErrors ()
 
 addError ($error_text)
 
 getPvzByAddress (Address $address)
 
 hasPvz ()
 
 getPvzList (Order $order, Address $address=null)
 
 getPvzListFilters (Order $order=null)
 

Защищенные члены

 calcDeliveryPeriod (Order $order, Address $address=null, Delivery $delivery=null)
 

Защищенные данные

 $opt = array()
 

Методы

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- объект заказа
Возвращает
int|float
Исключения
EventException
DbException
RSException
calcDeliveryPeriod ( Order  $order,
Address  $address = null,
Delivery  $delivery = null 
)
protected

Рассчитывает структурированную информацию по сроку, который требуется для доставки товара по заданному адресу

Аргументы
Order$orderобъект заказа
Address$addressобъект адреса
Delivery$deliveryобъект доставки
Возвращает
Helper | null
clearErrors ( )

Очищает ошибки доставки

getAdditionalHtmlForPickPoints ( Delivery  $delivery,
Order  $order = null,
  $pickpoints = array() 
)

Возвращает дополнительный HTML для публичной части для вывода пунктов самовывоза

Аргументы
Delivery$delivery- объект доставки
Order | null$order- объект заказа
array$pickpoints- массив пунктов самовывоза
Возвращает
string
Исключения
Exception
SmartyException
getAddittionalHtml ( Delivery  $delivery,
Order  $order = null 
)

Возвращает дополнительный HTML для публичной части

Аргументы
Delivery$delivery- объект доставки
Order | null$order- объект заказа
Возвращает
string
getAdminAddittionalHtml ( Order  $order = null)

Возвращает дополнительный HTML для административной части

Возвращает
string
getAdminHTML ( Order  $order)

Возвращает дополнительный HTML для админ части в заказе

Возвращает
string
getDeliveryCost ( Order  $order,
Address  $address = null,
Delivery  $delivery,
  $use_currency = true 
)
abstract

Возвращает стоимость доставки для заданного заказа. Только число.

Аргументы
Order$order- объект заказа
Address$address- Адрес доставки
Delivery$delivery- объект доставки
bool$use_currency- конвертировать стоимость в валюту заказа
Возвращает
double
getDeliveryCostText ( Order  $order,
Address  $address = null,
Delivery  $delivery 
)

Возвращает цену в текстовом формате, т.е. здесь может быть и цена и надпись, например "Бесплатно"

Аргументы
Order$order- объект заказа
Address$address- объект адреса
Delivery$delivery- объект доставки
Возвращает
string
getDeliveryExtraText ( Order  $order,
Address  $address = null,
Delivery  $delivery = null 
)

Возвращает дополнительную информацию о доставке (например сроки достави, но можно возвращать еще что-то)

Аргументы
Order$order- объект заказа
Address$address- Адрес доставки
Delivery$delivery- Объект доставки
Возвращает
string
Исключения
EventException
getDeliveryPeriod ( Order  $order,
Address  $address = null,
Delivery  $delivery = null 
)

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

Аргументы
Order$orderобъект заказа
Address$addressобъект адреса
Delivery$deliveryобъект доставки
Возвращает
Helper | null
getDescription ( )
abstract

Возвращает описание типа доставки

Возвращает
string
getErrors ( )

Получает массив ошибок

Возвращает
array
getErrorsStr (   $glue = ", ")

Возвращает ошибки в виде строки склеевая символами

Аргументы
string$glue- символы для склеивания
Возвращает
string
getFormHtml ( )

Возвращает HTML форму данного типа доставки

Возвращает
string
Исключения
SmartyException
getFormObject ( )

Возвращает ORM объект для генерации формы или null

Возвращает
FormObject | null
getOption (   $key = null,
  $default = null 
)

Возвращает значение доп. поля доставки

Аргументы
string$key- ключ
mixed$default- значение по умолчанию
Возвращает
array|mixed|null
getPvzByAddress ( Address  $address)

Возвращает список ПВЗ на основе адреса

Аргументы
Address$address- адрес получателя
Возвращает
Pvz[]
getPvzList ( Order  $order,
Address  $address = null 
)
Аргументы
Order$order- объект заказа
Address$address- объект адреса
Возвращает
array | bool - если ПВЗ поддерживаются, false - есть ПВЗ не поддерживаются
getPvzListFilters ( Order  $order = null)

Возвращает массив фильтров для списка пунктов выдачи

Аргументы
Order$order- объект заказа
Возвращает
[]
getShortName ( )
abstract

Возвращает идентификатор данного типа доставки. (только англ. буквы)

Возвращает
string
getTitle ( )
abstract

Возвращает название расчетного модуля (типа доставки)

Возвращает
string
getTrackNumber ( Order  $order)

Возвращает трек номер для отслеживания

Аргументы
Order$order- объект заказа
Возвращает
boolean
getTrackNumberUrl ( Order  $order)

Возвращает ссылку на отслеживание заказа

Аргументы
Order$order- объект заказа
Возвращает
string
hasErrors ( )

Возвращает есть ошибки при работе метода или нет

Возвращает
boolean
hasPvz ( )

Возвращает, поддерживает ли данный способ доставки ПВЗ

Возвращает
bool
isMyselfDelivery ( )

Возвращает true, если тип доставки предполагает самовывоз

Возвращает
bool
loadOptions ( array  $opt = null)
onOrderCreate ( Order  $order,
Address  $address = null 
)

Функция срабатывает после создания заказа

Аргументы
Order$order- объект заказа
Address$address- Объект адреса
Возвращает
void
removeFromOrderDeliveryErrorInfoLine (   $order)

Удаление админского комментария об ошибках в доставке

Аргументы
Order$order- объект заказа
setOption (   $key_or_array = null,
  $value = null 
)

Устанавливает значение доп. поля доставки

Аргументы
string$key_or_array
mixed$value
somethingWrong ( Order  $order,
Address  $address = null 
)

Возвращает текст, в случае если доставка невозможна. false - в случае если доставка возможна

Аргументы
Order$order- объект заказа
Address$address- Адрес доставки
Возвращает
mixed
toFormatedXML (   $xml_string)

Переводит строку XML в форматированный XML

Аргументы
string$xml_string- строка XML
Возвращает
string
validate ( Delivery  $delivery)

Производит валидацию текущих данных в свойствах

Аргументы
Delivery$delivery- объект способа доставки
wrapByWidjet ( Delivery  $delivery,
Order  $order = null,
  $content 
)

Оборачивает в виджет содержимое для вывода

Аргументы
Delivery$delivery- объект текущей доставки
Order$order- объект текущего заказа
string$content- содержимое для обёрки
Возвращает
string
Исключения
Exception
SmartyException
writeToLog (   $key,
  $value = '' 
)

Записывает в лог файл информацию

Аргументы
string$key- ключевое слово или фраза для записи, будет записана перед информацией в логе
mixed$value- информация для записи

Поля

$opt = array()
protected