Класс discountRule и его дочерние классы (модуль emarket) — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
Строка 49: Строка 49:
 
<p>'''Результат:'''array список правил</p>
 
<p>'''Результат:'''array список правил</p>
 
<br/>
 
<br/>
 +
 +
== Интерфейсы ==
 +
 +
Здесь также описаны два интерфейса:
 +
 +
*orderDiscountRule, в котором описан метод validateOrder()
 +
*itemDiscountRule, в котором описан validateItem()
  
  
 
== Дочерние классы ==
 
== Дочерние классы ==
  
Стандартно у класса discountModificator имеется два дочерних класса procDiscountModificator и absoluteDiscountModificator, которые изменяют цену, соответственно, на заданный процент скидки либо  
+
Стандартно у класса discountRule имеются следующие дочерние классы:
на фиксированное число. В каждом классе описан один публичный метод - recalcPrice
+
 
 +
*usersDiscountRule
 +
*userGroupsDiscountRule
 +
*relatedItemsDiscountRule
 +
*orderPriceDiscountRule
 +
*itemsDiscountRule
 +
*dateRangeDiscountRule
 +
*allOrdersPricesDiscountRule
 +
 
 +
 
 +
Каждый из дочерних классов реализует либо оба вышеуказанных интерфейса, либо один из них
 +
 
  
 
=== recalcPrice()===
 
=== recalcPrice()===

Версия 12:24, 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


Каждый из дочерних классов реализует либо оба вышеуказанных интерфейса, либо один из них


recalcPrice()

Метод recalcPrice() пересчитывает цену с учетом модификатора.

Параметры:

int $originalPrice:

цена на товар, заказ без учета скидки

Результат: int цена с учетом скидки