source/Application/Component/Widget/ArticleDetails.php
public function loadVariantInformation()
    {
        if ($this->_aVariantList === null) {
            $oProduct = $this->getProduct();

            //if we are child and do not have any variants then let's load all parent variants as ours
            if ($oParent = $oProduct->getParentArticle()) {
                $myConfig = \OxidEsales\Eshop\Core\Registry::getConfig();

                $oParent->setNoVariantLoading(false);
                $this->_aVariantList = $oParent->getFullVariants(false);

                //lets additionally add parent article if it is sellable
                if (count($this->_aVariantList) && $myConfig->getConfigParam('blVariantParentBuyable')) {
                    //#1104S if parent is buyable load select lists too
                    $oParent->enablePriceLoad();
                    $oParent->aSelectlist = $oParent->getSelectLists();
                    $this->_aVariantList = array_merge([$oParent], $this->_aVariantList->getArray());
                }
            } else {
                //loading full list of variants
                $this->_aVariantList = $oProduct->getFullVariants(false);
            }

            // setting link type for variants ..
            foreach ($this->_aVariantList as $oVariant) {
                $this->_processProduct($oVariant);
            }
        }

        return $this->_aVariantList;
    }
public function loadVariantInformation()
    {
        if ($this->_aVariantList === null) {
            $oProduct = $this->getProduct();

            //if we are child and do not have any variants then let's load all parent variants as ours
            if ($oParent = $oProduct->getParentArticle()) {
                $myConfig = \OxidEsales\Eshop\Core\Registry::getConfig();

                $oParent->setNoVariantLoading(false);
                $this->_aVariantList = $oParent->getFullVariants(false);

                //lets additionally add parent article if it is sellable
                if (count($this->_aVariantList) && $myConfig->getConfigParam('blVariantParentBuyable')) {
                    //#1104S if parent is buyable load select lists too
                    $oParent->enablePriceLoad();
                    $oParent->aSelectlist = $oParent->getSelectLists();
                    $this->_aVariantList = array_merge([$oParent], $this->_aVariantList->getArray());
                }
            } else {
                //loading full list of variants
                $this->_aVariantList = $oProduct->getFullVariants(false);
            }

            // setting link type for variants ..
            foreach ($this->_aVariantList as $oVariant) {
                $this->_processProduct($oVariant);
            }
        }

        return $this->_aVariantList;
    }
public function loadVariantInformation ( ) { if ( $ this -> _aVariantList === null ) { $ oProduct = $ this -> getProduct ( ) ; //if we are child and do not have any variants then let's load all parent variants as ours if ( $ oParent = $ oProduct -> getParentArticle ( ) ) { $ myConfig = \ OxidEsales \ Eshop \ Core \ Registry :: getConfig ( ) ; $ oParent -> setNoVariantLoading ( false ) ; $ this -> _aVariantList = $ oParent -> getFullVariants ( false ) ; //lets additionally add parent article if it is sellable if ( count ( $ this -> _aVariantList ) && $ myConfig -> getConfigParam ( 'blVariantParentBuyable' ) ) { //#1104S if parent is buyable load select lists too $ oParent -> enablePriceLoad ( ) ; $ oParent -> aSelectlist = $ oParent -> getSelectLists ( ) ; $ this -> _aVariantList = array_merge ( [ $ oParent ] , $ this -> _aVariantList -> getArray ( ) ) ; } } else { //loading full list of variants $ this -> _aVariantList = $ oProduct -> getFullVariants ( false ) ; } // setting link type for variants .. foreach ( $ this -> _aVariantList as $ oVariant ) { $ this -> _processProduct ( $ oVariant ) ; } } return $ this -> _aVariantList ; }
Loading full list of variants,
if we are child and do not have any variants then let's load all parent variants as ours.

@return array|SimpleVariantList|ArticleList
Loading full list of variants if we are child and do not have any variants then let s load all parent variants as ours .