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

Public Member Functions

 init ($oArticles)
 
 buildMdVariants ($oVariants, $sParentId)
 
 genVariantFromSell ($aSels, $oArticle)
 
 isMdVariant ($oArticle)
 
 buildVariantSelections ($sVarName, $oVariantList, $aFilter, $sActVariantId, $iLimit=0)
 

Protected Member Functions

 _assignValues ($aValues, $oVariants, $oArticle, $aConfLanguages)
 
 _getValuePrice ($oValue, $dParentPrice)
 
 _createNewVariant ($aParams=null, $sParentId=null)
 
 _updateArticleVarName ($sUpdate, $sArtId)
 
 _fillVariantSelections ($oVariantList, $iVarSelCnt, &$aFilter, $sActVariantId)
 
 _cleanFilter ($aFilter)
 
 _applyVariantSelectionsFilter ($aSelections, $aFilter)
 
 _buildVariantSelectionsList ($aVarSelects, $aSelections)
 
 _getSelections ($sTitle)
 

Protected Attributes

 $_oArticles = null
 
 $_sMdSeparator = " | "
 
 $_oMdVariants = null
 

Detailed Description

VariantHandler encapsulates methods dealing with multidimensional variant and variant names.

Member Function Documentation

◆ _applyVariantSelectionsFilter()

OxidEsales\EshopCommunity\Application\Model\VariantHandler::_applyVariantSelectionsFilter (   $aSelections,
  $aFilter 
)
protected

Applies filter on variant selection array

Parameters
array$aSelectionsselections
array$aFilterfilter
Returns
array

◆ _assignValues()

OxidEsales\EshopCommunity\Application\Model\VariantHandler::_assignValues (   $aValues,
  $oVariants,
  $oArticle,
  $aConfLanguages 
)
protected

Assigns values of selection list to variants

Parameters
array$aValuesmultilang values of selection list
object$oVariantsvariant list
object$oArticleparent article
array$aConfLanguagesarray of all active languages
Returns
mixed

◆ _buildVariantSelectionsList()

OxidEsales\EshopCommunity\Application\Model\VariantHandler::_buildVariantSelectionsList (   $aVarSelects,
  $aSelections 
)
protected

Builds variant selections list - array containing oxVariantSelectList

Parameters
array$aVarSelectsvariant selection titles
array$aSelectionsvariant selections
Returns
array

◆ _cleanFilter()

OxidEsales\EshopCommunity\Application\Model\VariantHandler::_cleanFilter (   $aFilter)
protected

Cleans up user given filter. If filter was empty - returns false

Parameters
array$aFilteruser given filter
Returns
array | bool

◆ _createNewVariant()

OxidEsales\EshopCommunity\Application\Model\VariantHandler::_createNewVariant (   $aParams = null,
  $sParentId = null 
)
protected

Creates new article variant.

Parameters
array$aParamsassigned parameters
string$sParentIdparent article id
Returns
null

◆ _fillVariantSelections()

OxidEsales\EshopCommunity\Application\Model\VariantHandler::_fillVariantSelections (   $oVariantList,
  $iVarSelCnt,
$aFilter,
  $sActVariantId 
)
protected

Creates array/matrix with variant selections

Parameters
\OxidEsales\Eshop\Application\Model\ArticleList$oVariantListvariant list
int$iVarSelCntpossible variant selection count
array$aFilteractive filter array
string$sActVariantIdactive variant id
Returns
array

◆ _getSelections()

OxidEsales\EshopCommunity\Application\Model\VariantHandler::_getSelections (   $sTitle)
protected

In case multidimentional variants ON explodes title by _sMdSeparator and returns array, else - returns array containing title

Parameters
string$sTitletitle to process
Returns
array

◆ _getValuePrice()

OxidEsales\EshopCommunity\Application\Model\VariantHandler::_getValuePrice (   $oValue,
  $dParentPrice 
)
protected

Returns article price

Parameters
object$oValueselection list value
double$dParentPriceparent article price
Returns
double

◆ _updateArticleVarName()

OxidEsales\EshopCommunity\Application\Model\VariantHandler::_updateArticleVarName (   $sUpdate,
  $sArtId 
)
protected

Inserts article variant name for all languages

Parameters
string$sUpdatequery for update variant name
string$sArtIdparent article id

◆ buildMdVariants()

OxidEsales\EshopCommunity\Application\Model\VariantHandler::buildMdVariants (   $oVariants,
  $sParentId 
)

Returns multidimensional variant structure

Parameters
object$oVariantsall article variants
string$sParentIdparent article id
Returns
oxMdVariant

◆ buildVariantSelections()

OxidEsales\EshopCommunity\Application\Model\VariantHandler::buildVariantSelections (   $sVarName,
  $oVariantList,
  $aFilter,
  $sActVariantId,
  $iLimit = 0 
)

Builds variant selection list

Parameters
string$sVarNameproduct (parent product) oxvarname value
\OxidEsales\Eshop\Application\Model\ArticleList$oVariantListvariant list
array$aFiltervariant filter
string$sActVariantIdactive variant id
int$iLimitlimit variant lists count (if non zero, return limited number of multidimensional variant selections)
Returns
Ambigous false | array

◆ genVariantFromSell()

OxidEsales\EshopCommunity\Application\Model\VariantHandler::genVariantFromSell (   $aSels,
  $oArticle 
)

Generate variants from selection lists

Parameters
array$aSelsids of selection list
object$oArticleparent article

◆ init()

OxidEsales\EshopCommunity\Application\Model\VariantHandler::init (   $oArticles)

Sets internal variant name array from article list.

Parameters
array$oArticlesVariant list

◆ isMdVariant()

OxidEsales\EshopCommunity\Application\Model\VariantHandler::isMdVariant (   $oArticle)

Check if variant is multidimensional

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

Member Data Documentation

◆ $_oArticles

OxidEsales\EshopCommunity\Application\Model\VariantHandler::$_oArticles = null
protected

◆ $_oMdVariants

OxidEsales\EshopCommunity\Application\Model\VariantHandler::$_oMdVariants = null
protected

◆ $_sMdSeparator

OxidEsales\EshopCommunity\Application\Model\VariantHandler::$_sMdSeparator = " | "
protected

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