Версия: 6.x
burger close
Класс DiscountManager

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

Класс, отвечает за применение скидок к корзине из различных источников Реализует стратегию комбинированного применения скидок

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

 getCartItemFinalDiscount ($cart_item)
 
 getCartItemBaseCost (AbstractCartItem $cart_item)
 
 getProductBaseCost (Product $product, int $offer_id=null)
 

Открытые статические члены

static instance ()
 
static handbookDiscountCombination ()
 

Поля данных

const DISCOUNT_COMBINATION_MAX = 'max'
 
const DISCOUNT_COMBINATION_MIN = 'min'
 
const DISCOUNT_COMBINATION_SUM = 'sum'
 

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

 calculateDiscountSum (array $discounts, $base_cost)
 
 getDiscountCombinationRule ()
 
 setDiscountCombinationRule (string $discount_combination_rule)
 

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

 $discount_combination_rule
 

Методы

calculateDiscountSum ( array  $discounts,
  $base_cost 
)
protected

Расчитывает суммарный размер скидки на основе переданного массиве скидок

Аргументы
AbstractDiscount[]$discounts - массив скидок
float$base_cost- базовая цена, от которой рассчитывается скидка
Возвращает
float
getCartItemBaseCost ( AbstractCartItem  $cart_item)

Возвращает базовую цену на товарную позицию

Аргументы
AbstractCartItem$cart_item- товарная позиция
Возвращает
float
getCartItemFinalDiscount (   $cart_item)

Возвращает итоговую скидку на товарную позицию

Аргументы
AbstractCartItem$cart_item
Возвращает
float
getDiscountCombinationRule ( )
protected

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

Возвращает
string
getProductBaseCost ( Product  $product,
int  $offer_id = null 
)

Возвращает базовую цену товара

Аргументы
Product$product- товар
int$offer_id- id комплектации
Возвращает
float
static handbookDiscountCombination ( )
static

Справочник правил сочетания скидок

Возвращает
string[]
static instance ( )
static

Возвращает экземпляр класса

Возвращает
static
setDiscountCombinationRule ( string  $discount_combination_rule)
protected

Устанавливает правило совмещения скидок

Аргументы
string$discount_combination_rule
Возвращает
void

Поля

$discount_combination_rule
protected
const DISCOUNT_COMBINATION_MAX = 'max'
const DISCOUNT_COMBINATION_MIN = 'min'
const DISCOUNT_COMBINATION_SUM = 'sum'