Класс discountRule и его дочерние классы (модуль emarket) — различия между версиями
Williwaw (обсуждение | вклад) (→Дочерние классы) |
Po4emu4ka (обсуждение | вклад) |
||
(не показано 14 промежуточных версий 1 участника) | |||
Строка 104: | Строка 104: | ||
orderDiscountRule | orderDiscountRule | ||
</td> | </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> | <td> | ||
+ | itemDiscountRule | ||
+ | </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> | </td> | ||
</tr> | </tr> | ||
+ | </table> | ||
+ | |||
+ | В дочерних классах могут быть определены, соответственно - validateOrder(),validateItem(), оба или один из них. | ||
+ | Также, в некоторых классах имеется метод validate() | ||
+ | |||
+ | <table border=1> | ||
<tr> | <tr> | ||
<td> | <td> | ||
− | + | Методы/классы | |
+ | </td> | ||
+ | <td> | ||
+ | usersDiscountRule | ||
+ | </td> | ||
+ | <td> | ||
+ | userGroupsDiscountRule | ||
</td> | </td> | ||
<td> | <td> | ||
+ | relatedItemsDiscountRule | ||
</td> | </td> | ||
<td> | <td> | ||
+ | orderPriceDiscountRule | ||
</td> | </td> | ||
<td> | <td> | ||
+ | itemsDiscountRule | ||
</td> | </td> | ||
<td> | <td> | ||
+ | dateRangeDiscountRule | ||
</td> | </td> | ||
<td> | <td> | ||
+ | allOrdersPricesDiscountRule | ||
</td> | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
<td> | <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> | </td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
+ | === validate()=== | ||
− | |||
+ | Метод <span style="font-weight:bold">validate()</span> проверяет применимо ли данное правило к заказу или товару в каталоге. | ||
+ | Он используется в тех классах, в которых описаны оба метода - validateOrder() и validateItem(), и просто вызывается внутри них | ||
− | Метод <span style="font-weight:bold"> | + | <p>'''Параметры:''' </p> |
+ | отсутсвтвуют | ||
+ | <p>'''Результат:''' boolean true|false</p> | ||
+ | |||
+ | |||
+ | === validateOrder()=== | ||
+ | |||
+ | |||
+ | Метод <span style="font-weight:bold">validateOrder()</span> проверяет применимо ли данное правило к заказу. | ||
<p>'''Параметры:''' </p> | <p>'''Параметры:''' </p> | ||
− | + | order<span style="font-weight:bold"> $order</span>: | |
− | + | объект представляющий заказ | |
− | <p>'''Результат:''' | + | <p>'''Результат:''' boolean true|false</p> |
+ | |||
+ | |||
+ | === validateItem()=== | ||
+ | |||
+ | |||
+ | Метод <span style="font-weight:bold">validateItem()</span> проверяет применимо ли данное правило к товару в каталоге. | ||
+ | |||
+ | <p>'''Параметры:''' </p> | ||
+ | iUmiHierarchyElement<span style="font-weight:bold"> $element</span>: | ||
+ | страница товара в каталоге | ||
+ | <p>'''Результат:''' boolean true|false</p> | ||
+ | |||
+ | |||
+ | == Дополнительно == | ||
+ | |||
+ | Другие статьи по классам emarket: | ||
+ | |||
+ | <ul> | ||
+ | <li>[[Класс customer модуля emarket]]</li> | ||
+ | <li>[[Класс order модуля emarket]]</li> | ||
+ | <li>[[Класс orderItem модуля emarket]]</li> | ||
+ | <li>[[Класс optionedOrderItem модуля emarket]]</li> | ||
+ | <li>[[Класс delivery модуля emarket]]</li> | ||
+ | <li>[[Класс discount модуля emarket]]</li> | ||
+ | <li>[[Дочерние классы класса delivery модуля emarket]]</li> | ||
+ | <li>[[Класс discountModificator и его дочерние классы (модуль emarket) ]]</li> | ||
+ | <li>[[Дочерние классы класса discount модуля emarket]]</li> | ||
+ | <li>[[Класс payment модуля emarket ]]</li> | ||
+ | <li>[[Класс emarketTop модуля emarket ]]</li> | ||
+ | <li>[[Класс currencyUpdater модуля emarket ]]</li> | ||
+ | </ul> | ||
+ | [[category:Модуль Интернет магазин]] |
Текущая версия на 13:31, 16 июля 2018
Содержание
Класс 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() |
+ |
+ |
- |
- |
- |
+ |
- |
validate()
Метод validate() проверяет применимо ли данное правило к заказу или товару в каталоге. Он используется в тех классах, в которых описаны оба метода - validateOrder() и validateItem(), и просто вызывается внутри них
Параметры:
отсутсвтвуют
Результат: boolean true|false
validateOrder()
Метод validateOrder() проверяет применимо ли данное правило к заказу.
Параметры:
order $order:
объект представляющий заказ
Результат: boolean true|false
validateItem()
Метод validateItem() проверяет применимо ли данное правило к товару в каталоге.
Параметры:
iUmiHierarchyElement $element:
страница товара в каталоге
Результат: boolean true|false
Дополнительно
Другие статьи по классам emarket:
- Класс customer модуля emarket
- Класс order модуля emarket
- Класс orderItem модуля emarket
- Класс optionedOrderItem модуля emarket
- Класс delivery модуля emarket
- Класс discount модуля emarket
- Дочерние классы класса delivery модуля emarket
- Класс discountModificator и его дочерние классы (модуль emarket)
- Дочерние классы класса discount модуля emarket
- Класс payment модуля emarket
- Класс emarketTop модуля emarket
- Класс currencyUpdater модуля emarket