Класс discountRule и его дочерние классы (модуль emarket) — различия между версиями
Williwaw (обсуждение | вклад) (→Дочерние классы) |
Williwaw (обсуждение | вклад) |
||
Строка 154: | Строка 154: | ||
</table> | </table> | ||
+ | В дочерних классах могут быть определены, соответственно - validateOrder(),validateItem(), оба или один из них. | ||
+ | Также, в некоторых классах имеется метод validate() | ||
+ | |||
+ | <table border=1> | ||
+ | <tr> | ||
+ | <td> | ||
+ | Методы/классы | ||
+ | </td> | ||
+ | <td> | ||
+ | usersDiscountRule | ||
+ | </td> | ||
+ | <td> | ||
+ | userGroupsDiscountRule | ||
+ | </td> | ||
+ | <td> | ||
+ | relatedItemsDiscountRule | ||
+ | </td> | ||
+ | <td> | ||
+ | orderPriceDiscountRule | ||
+ | </td> | ||
+ | <td> | ||
+ | itemsDiscountRule | ||
+ | </td> | ||
+ | <td> | ||
+ | dateRangeDiscountRule | ||
+ | </td> | ||
+ | <td> | ||
+ | allOrdersPricesDiscountRule | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | validateItem() | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | + | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | + | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | - | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | + | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | - | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | + | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | + | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | validateOrder() | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | + | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | + | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | - | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | + | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | - | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | + | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | + | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | validate() | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | + | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | + | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | + | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | - | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | + | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | + | ||
+ | </td> | ||
+ | <td align="center"> | ||
+ | + | ||
+ | </td> | ||
+ | </tr> | ||
+ | </table> | ||
=== recalcPrice()=== | === recalcPrice()=== |
Версия 12:57, 21 апреля 2014
Содержание
Класс discountRule и его дочерние классы
Описание
Класс является абстрактным - базовый класс для правил скидок. Классами наследниками являются классы, представляющие типы правил:
- На определенные товары
- На временной промежуток
- На сумму покупок пользователя
- На группу пользователей
- На пользователей
- На связанные товары
- На сумму заказа
Исходный код класса находится в файле classes\modules\emarket\classes\discount\discountRule.php
Методы
create()
Метод create() создает объект правила скидки нужного типа(класса)
Параметры:
discount $discount:
объект представляющий собой скидку
umiObject $ruleTypeObject:
объект представляющий тип правила
Результат: объект правило скидки нужного типа
get()
Метод get() получает объект скидки
Параметры:
int $modObjectId:
идентификатор объекта модификатора скидки
discount $discount:
объект представляющий собой скидку
Результат: объект правило скидки нужного типа
getList()
Метод getList() получает список доступных правил скидки
Параметры:
int $discountTypeId=false:
идентификатор типа скидки
Результат:array список правил
Интерфейсы
Здесь также описаны два интерфейса:
- orderDiscountRule, в котором описан метод validateOrder()
- itemDiscountRule, в котором описан validateItem()
Дочерние классы
Стандартно у класса discountRule имеются следующие дочерние классы:
- usersDiscountRule
- userGroupsDiscountRule
- relatedItemsDiscountRule
- orderPriceDiscountRule
- itemsDiscountRule
- dateRangeDiscountRule
- allOrdersPricesDiscountRule
Каждый из дочерних классов реализует либо оба вышеуказанных интерфейса, либо один из них:
Интерфейсы/классы |
usersDiscountRule |
userGroupsDiscountRule |
relatedItemsDiscountRule |
orderPriceDiscountRule |
itemsDiscountRule |
dateRangeDiscountRule |
allOrdersPricesDiscountRule |
orderDiscountRule |
+ |
+ |
- |
+ |
- |
+ |
+ |
itemDiscountRule |
+ |
+ |
+ |
- |
+ |
+ |
+ |
В дочерних классах могут быть определены, соответственно - validateOrder(),validateItem(), оба или один из них. Также, в некоторых классах имеется метод validate()
Методы/классы |
usersDiscountRule |
userGroupsDiscountRule |
relatedItemsDiscountRule |
orderPriceDiscountRule |
itemsDiscountRule |
dateRangeDiscountRule |
allOrdersPricesDiscountRule |
validateItem() |
+ |
+ |
- |
+ |
- |
+ |
+ |
validateOrder() |
+ |
+ |
- |
+ |
- |
+ |
+ |
validate() |
+ |
+ |
+ |
- |
+ |
+ |
+ |
recalcPrice()
Метод recalcPrice() пересчитывает цену с учетом модификатора.
Параметры:
int $originalPrice:
цена на товар, заказ без учета скидки
Результат: int цена с учетом скидки