/** * Sets details locator data for articles that came from tag list. * * @param oxubase $oLocatorTarget oxubase object * @param oxarticle $oCurrArticle current article * * @return null */ protected function _setTagLocatorData($oLocatorTarget, $oCurrArticle) { if ($oTag = $oLocatorTarget->getActTag()) { $myUtils = oxUtils::getInstance(); // loading data for article navigation $oIdList = oxNew('oxarticlelist'); $oLang = oxLang::getInstance(); if ($oLocatorTarget->showSorting()) { $oLocatorTarget->prepareSortColumns(); $oIdList->setCustomSorting($oLocatorTarget->getSortingSql('oxtags')); } $oIdList->getTagArticleIds($oTag->sTag, $oLang->getBaseLanguage()); //page number $iPage = $this->_findActPageNumber($oLocatorTarget->getActPage(), $oIdList, $oCurrArticle); // setting product position in list, amount of articles etc $oTag->iCntOfProd = $oIdList->count(); $oTag->iProductPos = $this->_getProductPos($oCurrArticle, $oIdList, $oLocatorTarget); if (oxUtils::getInstance()->seoIsActive()) { $oTag->toListLink = oxSeoEncoderTag::getInstance()->getTagPageUrl($oTag->sTag, $iPage); } else { $sPageNr = $this->_getPageNumber($iPage); $oTag->toListLink = $this->_makeLink($oTag->link, $sPageNr); } $sAddSearch = ''; // setting parameters when seo is Off if (!$myUtils->seoIsActive()) { $sAddSearch = 'searchtag=' . rawurlencode(oxConfig::getParameter('searchtag', 1)); $sAddSearch .= '&listtype=tag'; } $oTag->nextProductLink = $this->_oNextProduct ? $this->_makeLink($this->_oNextProduct->getLink(), $sAddSearch) : null; $oTag->prevProductLink = $this->_oBackProduct ? $this->_makeLink($this->_oBackProduct->getLink(), $sAddSearch) : null; $oStr = getStr(); $oLocatorTarget->setSearchTitle($oLang->translateString('TAGS') . ' / ' . $oStr->htmlspecialchars($oStr->ucfirst($oTag->sTag))); $oLocatorTarget->setActiveCategory($oTag); } }