OXID eShop CE  6.1.5
OxidEsales\EshopCommunity\Application\Model\Discount Class Reference
+ Inheritance diagram for OxidEsales\EshopCommunity\Application\Model\Discount:
+ Collaboration diagram for OxidEsales\EshopCommunity\Application\Model\Discount:

Public Member Functions

 __construct ()
 
 delete ($sOXID=null)
 
 save ()
 
 isGlobalDiscount ()
 
 isForArticle ($oArticle)
 
 isForBasketItem ($oArticle)
 
 isForBasketAmount ($oBasket)
 
 isForAmount ($dAmount)
 
 isForBasket ($oBasket)
 
 isForBundleItem ($oArticle)
 
 isForBundleBasket ($oBasket)
 
 getAbsValue ($dPrice, $dAmount=1)
 
 getPercentage ($dPrice)
 
 getAddSum ()
 
 getAddSumType ()
 
 getBundleAmount ($dAmount)
 
 getSimpleDiscount ()
 
 getArticleIds ()
 
 getCategoryIds ()
 
 getNextOxsort ($shopId)
 

Protected Member Functions

 _checkForArticleCategories ($oArticle)
 
 _getProductCheckQuery ($oProduct)
 
 _isArticleAssigned ($oArticle)
 
 _isCategoriesAssigned ($aCategoryIds)
 

Protected Attributes

 $_sClassName = 'oxdiscount'
 
 $_dAmount = null
 
 $_sBasketIdent = null
 
 $_blIsForArticleOrForCategory = null
 
 $_aHasArticleDiscounts = []
 

Detailed Description

Discounts manager.

Constructor & Destructor Documentation

◆ __construct()

OxidEsales\EshopCommunity\Application\Model\Discount::__construct ( )

Class constructor, initiates parent constructor (parent::oxBase()).

Member Function Documentation

◆ _checkForArticleCategories()

OxidEsales\EshopCommunity\Application\Model\Discount::_checkForArticleCategories (   $oArticle)
protected

Checks if discount may be applied according amounts info

Parameters
object$oArticlearticle object to chesk
Returns
bool

◆ _getProductCheckQuery()

OxidEsales\EshopCommunity\Application\Model\Discount::_getProductCheckQuery (   $oProduct)
protected

Returns part of query for discount check. If product is variant - query contains both id check e.g. "and (oxobjectid = '...' or oxobjectid = '...')

Parameters
\OxidEsales\Eshop\Application\Model\Article$oProductproduct used for discount check
Returns
string

◆ _isArticleAssigned()

OxidEsales\EshopCommunity\Application\Model\Discount::_isArticleAssigned (   $oArticle)
protected

Checks whether this article is assigned to discount

Parameters
\OxidEsales\Eshop\Application\Model\Article$oArticle
Returns
bool

◆ _isCategoriesAssigned()

OxidEsales\EshopCommunity\Application\Model\Discount::_isCategoriesAssigned (   $aCategoryIds)
protected

Checks whether categories are assigned to discount

Parameters
array$aCategoryIds
Returns
bool

◆ delete()

OxidEsales\EshopCommunity\Application\Model\Discount::delete (   $sOXID = null)

Delete this object from the database, returns true on success.

Parameters
string$sOXIDObject ID(default null)
Returns
bool

◆ getAbsValue()

OxidEsales\EshopCommunity\Application\Model\Discount::getAbsValue (   $dPrice,
  $dAmount = 1 
)

Returns absolute discount value

Parameters
float$dPriceitem price
float | int$dAmountitem amount, interpretted only when discount is absolute (default 1)
Returns
float

◆ getAddSum()

OxidEsales\EshopCommunity\Application\Model\Discount::getAddSum ( )

Return add sum in abs type discount with efected currency rate; Return discount percent value in other way;

Returns
double

◆ getAddSumType()

OxidEsales\EshopCommunity\Application\Model\Discount::getAddSumType ( )

Return addsum type

Returns
string

◆ getArticleIds()

OxidEsales\EshopCommunity\Application\Model\Discount::getArticleIds ( )

Returns article ids assigned to discount

Returns
array

◆ getBundleAmount()

OxidEsales\EshopCommunity\Application\Model\Discount::getBundleAmount (   $dAmount)

Returns amount of items to bundle

Parameters
double$dAmountitem amount
Returns
double

◆ getCategoryIds()

OxidEsales\EshopCommunity\Application\Model\Discount::getCategoryIds ( )

Returns category ids asigned to discount

Returns
array

◆ getNextOxsort()

OxidEsales\EshopCommunity\Application\Model\Discount::getNextOxsort (   $shopId)

Increment the maximum value of oxsort found in the database by certain amount and return it.

Parameters
int$shopIdThe id of the current shop
Returns
int The incremented oxsort

◆ getPercentage()

OxidEsales\EshopCommunity\Application\Model\Discount::getPercentage (   $dPrice)

Return discount percent

Parameters
double$dPrice- price from which calculates discount
Returns
double

◆ getSimpleDiscount()

OxidEsales\EshopCommunity\Application\Model\Discount::getSimpleDiscount ( )

Returns compact discount object which is used in oxbasket

Returns
stdClass

◆ isForAmount()

OxidEsales\EshopCommunity\Application\Model\Discount::isForAmount (   $dAmount)

Tests if passed amount or price fits current discount (price priority)

Parameters
double$dAmountamount or price to check (price priority)
Returns
bool

◆ isForArticle()

OxidEsales\EshopCommunity\Application\Model\Discount::isForArticle (   $oArticle)

Checks if discount applies for article

Parameters
\OxidEsales\Eshop\Application\Model\Article$oArticlearticle object
Returns
bool

◆ isForBasket()

OxidEsales\EshopCommunity\Application\Model\Discount::isForBasket (   $oBasket)

Checks if discount is setup for whole basket

Parameters
object$oBasketbasket object
Returns
bool

◆ isForBasketAmount()

OxidEsales\EshopCommunity\Application\Model\Discount::isForBasketAmount (   $oBasket)

Tests if total amount or price (price priority) of articles that can be applied to current discount fits to discount configuration

Parameters
\OxidEsales\Eshop\Application\Model\Basket$oBasketbasket
Returns
bool

◆ isForBasketItem()

OxidEsales\EshopCommunity\Application\Model\Discount::isForBasketItem (   $oArticle)

Checks if discount is setup for some basket item

Parameters
object$oArticlebasket item
Returns
bool

◆ isForBundleBasket()

OxidEsales\EshopCommunity\Application\Model\Discount::isForBundleBasket (   $oBasket)

Checks if discount type is whole basket bundle discount

Parameters
object$oBasketbasket object
Returns
bool

◆ isForBundleItem()

OxidEsales\EshopCommunity\Application\Model\Discount::isForBundleItem (   $oArticle)

Checks if discount type is bundle discount

Parameters
object$oArticlearticle object
Returns
bool

◆ isGlobalDiscount()

OxidEsales\EshopCommunity\Application\Model\Discount::isGlobalDiscount ( )

Check for global discount (no articles, no categories)

Returns
bool

◆ save()

OxidEsales\EshopCommunity\Application\Model\Discount::save ( )

Save the discount. Assigns a value to oxsort, if it was null Does input validation before saving the discount.

Returns saving status

Exceptions

Member Data Documentation

◆ $_aHasArticleDiscounts

OxidEsales\EshopCommunity\Application\Model\Discount::$_aHasArticleDiscounts = []
protected

◆ $_blIsForArticleOrForCategory

OxidEsales\EshopCommunity\Application\Model\Discount::$_blIsForArticleOrForCategory = null
protected

◆ $_dAmount

OxidEsales\EshopCommunity\Application\Model\Discount::$_dAmount = null
protected

◆ $_sBasketIdent

OxidEsales\EshopCommunity\Application\Model\Discount::$_sBasketIdent = null
protected

◆ $_sClassName

OxidEsales\EshopCommunity\Application\Model\Discount::$_sClassName = 'oxdiscount'
protected

The documentation for this class was generated from the following file: