source/Application/Component/Locator.php
protected function _loadIdsInList($oCategory, $oCurrArticle, $sOrderBy = null)
    {
        $oIdList = oxNew(\OxidEsales\Eshop\Application\Model\ArticleList::class);
        $oIdList->setCustomSorting($sOrderBy);

        // additionally check if this category is loaded and is price category ?
        if ($oCategory->isPriceCategory()) {
            $oIdList->loadPriceIds($oCategory->oxcategories__oxpricefrom->value, $oCategory->oxcategories__oxpriceto->value);
        } else {
            $sActCat = $oCategory->getId();
            $oIdList->loadCategoryIDs($sActCat, \OxidEsales\Eshop\Core\Registry::getSession()->getVariable('session_attrfilter'));
            // if not found - reloading with empty filter
            if (!isset($oIdList[$oCurrArticle->getId()])) {
                $oIdList->loadCategoryIDs($sActCat, null);
            }
        }

        return $oIdList;
    }
protected function _loadIdsInList($oCategory, $oCurrArticle, $sOrderBy = null)
    {
        $oIdList = oxNew(\OxidEsales\Eshop\Application\Model\ArticleList::class);
        $oIdList->setCustomSorting($sOrderBy);

        // additionally check if this category is loaded and is price category ?
        if ($oCategory->isPriceCategory()) {
            $oIdList->loadPriceIds($oCategory->oxcategories__oxpricefrom->value, $oCategory->oxcategories__oxpriceto->value);
        } else {
            $sActCat = $oCategory->getId();
            $oIdList->loadCategoryIDs($sActCat, \OxidEsales\Eshop\Core\Registry::getSession()->getVariable('session_attrfilter'));
            // if not found - reloading with empty filter
            if (!isset($oIdList[$oCurrArticle->getId()])) {
                $oIdList->loadCategoryIDs($sActCat, null);
            }
        }

        return $oIdList;
    }
protected function _loadIdsInList ( $ oCategory , $ oCurrArticle , $ sOrderBy = null ) { $ oIdList = oxNew ( \ OxidEsales \ Eshop \ Application \ Model \ ArticleList :: class ) ; $ oIdList -> setCustomSorting ( $ sOrderBy ) ; // additionally check if this category is loaded and is price category ? if ( $ oCategory -> isPriceCategory ( ) ) { $ oIdList -> loadPriceIds ( $ oCategory -> oxcategories__oxpricefrom -> value , $ oCategory -> oxcategories__oxpriceto -> value ) ; } else { $ sActCat = $ oCategory -> getId ( ) ; $ oIdList -> loadCategoryIDs ( $ sActCat , \ OxidEsales \ Eshop \ Core \ Registry :: getSession ( ) -> getVariable ( 'session_attrfilter' ) ) ; // if not found - reloading with empty filter if ( ! isset ( $ oIdList [ $ oCurrArticle -> getId ( ) ] ) ) { $ oIdList -> loadCategoryIDs ( $ sActCat , null ) ; } } return $ oIdList ; }
Setting product position in list, amount of articles etc

@param \OxidEsales\Eshop\Application\Model\Category $oCategory    active category id
@param object                                       $oCurrArticle current article
@param string                                       $sOrderBy     order by fields

@return object
Setting product position in list amount of articles etc