Exemple #1
0
 /**
  * Sets details locator data for articles that came from Manufacturer list.
  *
  * @param oxubase   $oLocatorTarget oxubase object
  * @param oxarticle $oCurrArticle   current article
  */
 protected function _setManufacturerLocatorData($oLocatorTarget, $oCurrArticle)
 {
     if ($oManufacturer = $oLocatorTarget->getActManufacturer()) {
         $sManufacturerId = $oManufacturer->getId();
         $myUtils = oxRegistry::getUtils();
         $blSeo = $myUtils->seoIsActive();
         // loading data for article navigation
         $oIdList = oxNew("oxArticleList");
         if ($oLocatorTarget->showSorting()) {
             $oIdList->setCustomSorting($oLocatorTarget->getSortingSql($oLocatorTarget->getSortIdent()));
         }
         $oIdList->loadManufacturerIds($sManufacturerId);
         //page number
         $iPage = $this->_findActPageNumber($oLocatorTarget->getActPage(), $oIdList, $oCurrArticle);
         $sAdd = null;
         if (!$blSeo) {
             $sAdd = 'listtype=manufacturer&mnid=' . $sManufacturerId;
         }
         // setting product position in list, amount of articles etc
         $oManufacturer->iCntOfProd = $oIdList->count();
         $oManufacturer->iProductPos = $this->_getProductPos($oCurrArticle, $oIdList, $oLocatorTarget);
         if ($blSeo && $iPage) {
             /** @var oxSeoEncoderManufacturer $oSeoEncoderManufacturer */
             $oSeoEncoderManufacturer = oxRegistry::get("oxSeoEncoderManufacturer");
             $oManufacturer->toListLink = $oSeoEncoderManufacturer->getManufacturerPageUrl($oManufacturer, $iPage);
         } else {
             $oManufacturer->toListLink = $this->_makeLink($oManufacturer->getLink(), $this->_getPageNumber($iPage));
         }
         $oNextProduct = $this->_oNextProduct;
         $oBackProduct = $this->_oBackProduct;
         $oManufacturer->nextProductLink = $oNextProduct ? $this->_makeLink($oNextProduct->getLink(), $sAdd) : null;
         $oManufacturer->prevProductLink = $oBackProduct ? $this->_makeLink($oBackProduct->getLink(), $sAdd) : null;
         // active Manufacturer
         $oLocatorTarget->setActiveCategory($oManufacturer);
         // Manufacturer path
         if ($oManufacturerTree = $oLocatorTarget->getManufacturerTree()) {
             $oLocatorTarget->setCatTreePath($oManufacturerTree->getPath());
         }
     }
 }