source/Application/Component/Locator.php
protected function _setListLocatorData($oLocatorTarget, $oCurrArticle)
    {
        // if no active category is loaded - lets check for category passed by post/get
        if (($oCategory = $oLocatorTarget->getActiveCategory())) {
            $sOrderBy = $oLocatorTarget->getSortingSql($oLocatorTarget->getSortIdent());
            $oIdList = $this->_loadIdsInList($oCategory, $oCurrArticle, $sOrderBy);

            //page number
            $iPage = $this->_findActPageNumber($oLocatorTarget->getActPage(), $oIdList, $oCurrArticle);

            // setting product position in list, amount of articles etc
            $oCategory->iCntOfProd = $oIdList->count();
            $oCategory->iProductPos = $this->_getProductPos($oCurrArticle, $oIdList, $oLocatorTarget);

            if (\OxidEsales\Eshop\Core\Registry::getUtils()->seoIsActive() && $iPage) {
                /** @var \OxidEsales\Eshop\Application\Model\SeoEncoderCategory $oSeoEncoderCategory */
                $oSeoEncoderCategory = \OxidEsales\Eshop\Core\Registry::get(\OxidEsales\Eshop\Application\Model\SeoEncoderCategory::class);
                $oCategory->toListLink = $oSeoEncoderCategory->getCategoryPageUrl($oCategory, $iPage);
            } else {
                $oCategory->toListLink = $this->_makeLink($oCategory->getLink(), $this->_getPageNumber($iPage));
            }

            $oNextProduct = $this->_oNextProduct;
            $oBackProduct = $this->_oBackProduct;
            $oCategory->nextProductLink = $oNextProduct ? $this->_makeLink($oNextProduct->getLink(), '') : null;
            $oCategory->prevProductLink = $oBackProduct ? $this->_makeLink($oBackProduct->getLink(), '') : null;

            // active category
            $oLocatorTarget->setActiveCategory($oCategory);

            // category path
            if (($oCatTree = $oLocatorTarget->getCategoryTree())) {
                $oLocatorTarget->setCatTreePath($oCatTree->getPath());
            }
        }
    }
protected function _setListLocatorData($oLocatorTarget, $oCurrArticle)
    {
        // if no active category is loaded - lets check for category passed by post/get
        if (($oCategory = $oLocatorTarget->getActiveCategory())) {
            $sOrderBy = $oLocatorTarget->getSortingSql($oLocatorTarget->getSortIdent());
            $oIdList = $this->_loadIdsInList($oCategory, $oCurrArticle, $sOrderBy);

            //page number
            $iPage = $this->_findActPageNumber($oLocatorTarget->getActPage(), $oIdList, $oCurrArticle);

            // setting product position in list, amount of articles etc
            $oCategory->iCntOfProd = $oIdList->count();
            $oCategory->iProductPos = $this->_getProductPos($oCurrArticle, $oIdList, $oLocatorTarget);

            if (\OxidEsales\Eshop\Core\Registry::getUtils()->seoIsActive() && $iPage) {
                /** @var \OxidEsales\Eshop\Application\Model\SeoEncoderCategory $oSeoEncoderCategory */
                $oSeoEncoderCategory = \OxidEsales\Eshop\Core\Registry::get(\OxidEsales\Eshop\Application\Model\SeoEncoderCategory::class);
                $oCategory->toListLink = $oSeoEncoderCategory->getCategoryPageUrl($oCategory, $iPage);
            } else {
                $oCategory->toListLink = $this->_makeLink($oCategory->getLink(), $this->_getPageNumber($iPage));
            }

            $oNextProduct = $this->_oNextProduct;
            $oBackProduct = $this->_oBackProduct;
            $oCategory->nextProductLink = $oNextProduct ? $this->_makeLink($oNextProduct->getLink(), '') : null;
            $oCategory->prevProductLink = $oBackProduct ? $this->_makeLink($oBackProduct->getLink(), '') : null;

            // active category
            $oLocatorTarget->setActiveCategory($oCategory);

            // category path
            if (($oCatTree = $oLocatorTarget->getCategoryTree())) {
                $oLocatorTarget->setCatTreePath($oCatTree->getPath());
            }
        }
    }
protected function _setListLocatorData ( $ oLocatorTarget , $ oCurrArticle ) { // if no active category is loaded - lets check for category passed by post/get if ( ( $ oCategory = $ oLocatorTarget -> getActiveCategory ( ) ) ) { $ sOrderBy = $ oLocatorTarget -> getSortingSql ( $ oLocatorTarget -> getSortIdent ( ) ) ; $ oIdList = $ this -> _loadIdsInList ( $ oCategory , $ oCurrArticle , $ sOrderBy ) ; //page number $ iPage = $ this -> _findActPageNumber ( $ oLocatorTarget -> getActPage ( ) , $ oIdList , $ oCurrArticle ) ; // setting product position in list, amount of articles etc $ oCategory -> iCntOfProd = $ oIdList -> count ( ) ; $ oCategory -> iProductPos = $ this -> _getProductPos ( $ oCurrArticle , $ oIdList , $ oLocatorTarget ) ; if ( \ OxidEsales \ Eshop \ Core \ Registry :: getUtils ( ) -> seoIsActive ( ) && $ iPage ) { /** @var \OxidEsales\Eshop\Application\Model\SeoEncoderCategory $oSeoEncoderCategory */ $ oSeoEncoderCategory = \ OxidEsales \ Eshop \ Core \ Registry :: get ( \ OxidEsales \ Eshop \ Application \ Model \ SeoEncoderCategory :: class ) ; $ oCategory -> toListLink = $ oSeoEncoderCategory -> getCategoryPageUrl ( $ oCategory , $ iPage ) ; } else { $ oCategory -> toListLink = $ this -> _makeLink ( $ oCategory -> getLink ( ) , $ this -> _getPageNumber ( $ iPage ) ) ; } $ oNextProduct = $ this -> _oNextProduct ; $ oBackProduct = $ this -> _oBackProduct ; $ oCategory -> nextProductLink = $ oNextProduct ? $ this -> _makeLink ( $ oNextProduct -> getLink ( ) , '' ) : null ; $ oCategory -> prevProductLink = $ oBackProduct ? $ this -> _makeLink ( $ oBackProduct -> getLink ( ) , '' ) : null ; // active category $ oLocatorTarget -> setActiveCategory ( $ oCategory ) ; // category path if ( ( $ oCatTree = $ oLocatorTarget -> getCategoryTree ( ) ) ) { $ oLocatorTarget -> setCatTreePath ( $ oCatTree -> getPath ( ) ) ; } } }
Sets details locator data for articles that came from regular list.

@param \OxidEsales\Eshop\Application\Controller\FrontendController $oLocatorTarget view object
@param \OxidEsales\Eshop\Application\Model\Article                 $oCurrArticle   current article
Sets details locator data for articles that came from regular list .