Класс discountRule и его дочерние классы (модуль emarket)
Содержание
Класс discountRule и его дочерние классы
Описание
Класс является абстрактным - базовый класс для правил скидок. Классами наследниками являются классы, представляющие типы правил:
- На определенные товары
- На временной промежуток
- На сумму покупок пользователя
- На группу пользователей
- На пользователей
- На связанные товары
- На сумму заказа
Исходный код класса находится в файле classes\modules\emarket\classes\discount\discountRule.php
Методы
create()
Метод create() создает объект скидки нужного типа(класса)
Параметры:
discount $discount:
объект представляющий собой скидку
umiObject $modTypeObject:
объект представляющий тип модификатора
Результат: объект модификатор цены скидки нужного типа
get()
Метод get() получает объект скидки
Параметры:
int $modObjectId:
идентификатор объекта модификатора скидки
discount $discount:
объект представляющий собой скидку
Результат: объект модификатор цены скидки нужного типа
getList()
Метод getList() получает список доступных можификаторов типа скидки
Параметры:
int $discountTypeId=false:
идентификатор типа скидки
Результат:array список модификаторов
recalcPrice()
Метод recalcPrice() пересчитывает цену с учетом модификатора. Метод является абстрактным и определяется в дочерних классах
Параметры:
int $price:
цена на товар, заказ
Результат:
Дочерние классы
Стандартно у класса discountModificator имеется два дочерних класса procDiscountModificator и absoluteDiscountModificator, которые изменяют цену, соответственно, на заданный процент скидки либо на фиксированное число. В каждом классе описан один публичный метод - recalcPrice
recalcPrice()
Метод recalcPrice() пересчитывает цену с учетом модификатора.
Параметры:
int $originalPrice:
цена на товар, заказ без учета скидки
Результат: int цена с учетом скидки