00001 <?php
00002
00009 class Details extends oxUBase
00010 {
00016 protected $_aVariantList = null;
00017
00023 protected $_sThisTemplate = 'details.tpl';
00024
00030 protected $_oParent = null;
00031
00037 protected $_blCanRate = null;
00038
00043 protected $_blShowSorting = true;
00044
00049 protected $_blEditTags = null;
00050
00055 protected $_aTags = null;
00056
00061 protected $_sTagCloud = null;
00062
00067 protected $_aUserRecommList = null;
00068
00073 protected $_sLoginFormAnchor = null;
00074
00079 protected $_oCaptcha = null;
00080
00085 protected $_aMediaFiles = null;
00086
00091 protected $_aLastProducts = null;
00092
00097 protected $_oVendor = null;
00098
00103 protected $_oManufacturer = null;
00104
00109 protected $_oCategory = null;
00110
00115 protected $_aAttributes = null;
00116
00121 protected $_sParentName = null;
00122
00127 protected $_sParentUrl = null;
00128
00133 protected $_aPicGallery = null;
00134
00139 protected $_aSelectLists = null;
00140
00145 protected $_aReviews = null;
00146
00151 protected $_oCrossSelling = null;
00152
00157 protected $_oSimilarProducts = null;
00158
00163 protected $_oRecommList = null;
00164
00169 protected $_oAccessoires = null;
00170
00175 protected $_aAlsoBoughtArts = null;
00176
00181 protected $_sSearchTitle = null;
00182
00188 protected $_blIsInitialized = false;
00189
00197 protected function _getParentProduct( $sParentId )
00198 {
00199 if ( $sParentId && $this->_oParent === null ) {
00200 $this->_oParent = false;
00201 if ( ( $oParent = oxNewArticle( $sParentId ) ) ) {
00202 $this->_oParent = $oParent;
00203 }
00204 }
00205 return $this->_oParent;
00206 }
00207
00214 public function loadVariantInformation()
00215 {
00216 if ( $this->_aVariantList === null ) {
00217 $oProduct = $this->getProduct();
00218
00219
00220 $this->_aVariantList = $oProduct->getVariants( false );
00221
00222
00223 if ( ( $oParent = $this->_getParentProduct( $oProduct->oxarticles__oxparentid->value ) ) && count( $this->_aVariantList ) == 0 ) {
00224 $myConfig = $this->getConfig();
00225
00226 $this->_aVariantList = $oParent->getVariants( false );
00227
00228
00229 if ( $oParent->blNotBuyableParent ) {
00230 $oParent->blNotBuyable = true;
00231 }
00232
00233
00234 if ( $myConfig->getConfigParam( 'blVariantParentBuyable' ) ) {
00235
00236 $oParent->aSelectlist = $oParent->getSelectLists();
00237 $this->_aVariantList = array_merge( array( $oParent ), $this->_aVariantList->getArray() );
00238 }
00239
00240
00241 if ( isset( $this->_aVariantList[$oProduct->getId()] ) ) {
00242 unset( $this->_aVariantList[$oProduct->getId()] );
00243 }
00244 }
00245
00246
00247 foreach ( $this->_aVariantList as $oVariant ) {
00248 $this->_setLinkType( $oVariant );
00249 }
00250
00251 }
00252 return $this->_aVariantList;
00253 }
00254
00260 public function getViewId()
00261 {
00262 if ( isset( $this->_sViewId )) {
00263 return $this->_sViewId;
00264 }
00265
00266 $_sViewId = parent::getViewId().'|'.oxConfig::getParameter( 'anid' ).'|'.count( $this->getVariantList() ).'|';
00267
00268
00269 return $this->_sViewId = $_sViewId;
00270 }
00271
00272
00279 public function init()
00280 {
00281 parent::init();
00282
00283 $oProduct = $this->getProduct();
00284
00285
00286 if ( $oProduct->oxarticles__oxtemplate->value ) {
00287 $this->_sThisTemplate = $oProduct->oxarticles__oxtemplate->value;
00288 }
00289
00290 if ( ( $sTplName = oxConfig::getParameter( 'tpl' ) ) ) {
00291 $this->_sThisTemplate = basename ( $sTplName );
00292 }
00293 }
00294
00314 public function render()
00315 {
00316 $myConfig = $this->getConfig();
00317
00318 $oProduct = $this->getProduct();
00319
00320
00321 $oProduct->loadAmountPriceInfo();
00322
00323
00324 $this->_aViewData['product'] = $oProduct;
00325
00326 $this->_aViewData["aTags"] = $this->getTags();
00327 $this->_aViewData["blEditTags"] = $this->getEditTags();
00328 startProfile("tagCloud");
00329 $this->_aViewData['tagCloud'] = $this->getTagCloud();
00330 stopProfile("tagCloud");
00331
00332 $this->_aViewData['loginformanchor'] = $this->getLoginFormAnchor();
00333
00334 $this->_aViewData['ispricealarm'] = $this->isPriceAlarm();
00335
00336 $this->_aViewData['customerwho'] = $this->getAlsoBoughtThiesProducts();
00337 $this->_aViewData['accessoirelist'] = $this->getAccessoires();
00338 $this->_aViewData['similarlist'] = $this->getSimilarProducts();
00339 $this->_aViewData['crossselllist'] = $this->getCrossSelling();
00340
00341 $this->_aViewData['variants'] = $this->getVariantList();
00342
00343 $this->_aViewData['reviews'] = $this->getReviews();
00344
00345 $this->_aViewData['selectlist'] = $this->getSelectLists();
00346
00347 $this->_aViewData["actpicid"] = $this->getActPictureId();
00348 $this->_aViewData["actpic"] = $this->getActPicture();
00349 $this->_aViewData['blMorePic'] = $this->morePics();
00350 $this->_aViewData['ArtPics'] = $this->getPictures();
00351 $this->_aViewData['ArtIcons'] = $this->getIcons();
00352 $this->_aViewData['blZoomPic'] = $this->showZoomPics();
00353 $this->_aViewData['aZoomPics'] = $this->getZoomPics();
00354 $this->_aViewData['iZoomPic'] = $this->getActZoomPic();
00355
00356 $this->_aViewData['parentname'] = $this->getParentName();
00357 $this->_aViewData['parent_url'] = $this->getParentUrl();
00358 $this->_aViewData['draw_parent_url'] = $this->drawParentUrl();
00359
00360 $this->_aViewData['pgNr'] = $this->getActPage();
00361
00362 parent::render();
00363
00364 $this->_aViewData['allartattr'] = $this->getAttributes();
00365
00366
00367 $this->_aViewData['oCategory'] = $this->getCategory();
00368
00369 $this->_aViewData['oVendor'] = $this->getVendor();
00370
00371 $this->_aViewData['oManufacturer'] = $this->getManufacturer();
00372
00373 $this->_aViewData['aLastProducts'] = $this->getLastProducts();
00374
00375
00376 $oLocator = oxNew( 'oxlocator', $this->getListType() );
00377 $oLocator->setLocatorData( $oProduct, $this );
00378
00379
00380 $this->_aViewData['aMediaUrls'] = $this->getMediaFiles();
00381
00382 if (in_array('oxrss_recommlists', $myConfig->getConfigParam( 'aRssSelected' )) && $this->getSimilarRecommLists()) {
00383 $oRss = oxNew('oxrssfeed');
00384 $this->addRssFeed($oRss->getRecommListsTitle( $oProduct ), $oRss->getRecommListsUrl( $oProduct ), 'recommlists');
00385 }
00386
00387
00388
00389 $this->_aViewData['oCaptcha'] = $this->getCaptcha();
00390 $this->_aViewData['sSearchTitle'] = $this->getSearchTitle();
00391 $this->_aViewData['actCatpath'] = $this->getCatTreePath();
00392
00393 return $this->_sThisTemplate;
00394 }
00395
00407 protected function _prepareMetaDescription( $sMeta, $iLength = 200, $blDescTag = true )
00408 {
00409 if ( !$sMeta ) {
00410 $oProduct = $this->getProduct();
00411
00412 $sMeta = getStr()->strtolower( $oProduct->getArticleLongDesc()->value );
00413 $sMeta = str_replace( array( '<br>', '<br />', '<br/>' ), "\n", $sMeta );
00414 $sMeta = $oProduct->oxarticles__oxtitle->value.' - '.$sMeta;
00415 $sMeta = strip_tags( $sMeta );
00416 }
00417 return parent::_prepareMetaDescription( $sMeta, $iLength, $blDescTag );
00418 }
00419
00429 protected function _prepareMetaKeyword( $sKeywords )
00430 {
00431 if ( !$sKeywords ) {
00432 $oProduct = $this->getProduct();
00433
00434 $sKeywords = getStr()->strtolower( $oProduct->getArticleLongDesc()->value );
00435 $sKeywords = str_replace( array( '<br>', '<br />', '<br/>' ), "\n", $sKeywords );
00436 if ( trim( $oProduct->oxarticles__oxsearchkeys->value ) ) {
00437 $sKeywords = $oProduct->oxarticles__oxsearchkeys->value.' '.$sKeywords;
00438 }
00439 $sKeywords = strip_tags( $sKeywords );
00440 }
00441 return parent::_prepareMetaKeyword( $sKeywords );
00442 }
00443
00449 public function canRate()
00450 {
00451 if ( $this->_blCanRate === null ) {
00452
00453 $this->_blCanRate = false;
00454 $myConfig = $this->getConfig();
00455
00456 if ( $myConfig->getConfigParam( 'bl_perfLoadReviews' ) &&
00457 $oUser = $this->getUser() ) {
00458
00459 $oRating = oxNew( 'oxrating' );
00460 $this->_blCanRate = $oRating->allowRating( $oUser->getId(), 'oxarticle', $this->getProduct()->getId() );
00461 }
00462 }
00463 return $this->_blCanRate;
00464 }
00465
00471 public function saveReview()
00472 {
00473 $sReviewText = trim( ( string ) oxConfig::getParameter( 'rvw_txt' , true ) );
00474 $dRating = oxConfig::getParameter( 'artrating' );
00475 if ($dRating < 0 || $dRating > 5) {
00476 $dRating = null;
00477 }
00478
00479 $sArtId = oxConfig::getParameter( 'anid' );
00480 $sUserId = oxSession::getVar( 'usr' );
00481
00482
00483 if ( $dRating ) {
00484 $oProduct = $this->getProduct();
00485
00486 $oRating = oxNew( 'oxrating' );
00487 $blRate = $oRating->allowRating( $sUserId, 'oxarticle', $oProduct->getId());
00488 if ( $blRate) {
00489 $oRating->oxratings__oxuserid = new oxField($sUserId);
00490 $oRating->oxratings__oxtype = new oxField('oxarticle', oxField::T_RAW);
00491 $oRating->oxratings__oxobjectid = new oxField($sArtId);
00492 $oRating->oxratings__oxrating = new oxField($dRating);
00493 $oRating->save();
00494 $oProduct->addToRatingAverage( $dRating);
00495 } else {
00496 $dRating = null;
00497 }
00498 }
00499
00500 if ( $sReviewText ) {
00501 $oReview = oxNew( 'oxreview' );
00502 $oReview->oxreviews__oxobjectid = new oxField($sArtId);
00503 $oReview->oxreviews__oxtype = new oxField('oxarticle', oxField::T_RAW);
00504 $oReview->oxreviews__oxtext = new oxField($sReviewText, oxField::T_RAW);
00505 $oReview->oxreviews__oxlang = new oxField(oxLang::getInstance()->getBaseLanguage());
00506 $oReview->oxreviews__oxuserid = new oxField($sUserId);
00507 $oReview->oxreviews__oxrating = new oxField(( $dRating) ? $dRating : null);
00508 $oReview->save();
00509 }
00510 }
00511
00517 public function showLogin()
00518 {
00519 $this->_sThisTemplate = 'account_login.tpl';
00520
00521 $sAnchor = $this->getConfig()->getParameter("anchor");
00522 if ($sAnchor)
00523 $this->_sLoginFormAnchor = $sAnchor;
00524 }
00525
00531 public function addToRecomm()
00532 {
00533 $sRecommText = trim( ( string ) oxConfig::getParameter( 'recomm_txt' ) );
00534 $sRecommList = oxConfig::getParameter( 'recomm' );
00535 $sArtId = oxConfig::getParameter( 'anid' );
00536
00537 if ( $sArtId ) {
00538 $oRecomm = oxNew( 'oxrecommlist' );
00539 $oRecomm->load( $sRecommList);
00540 $oRecomm->addArticle( $sArtId, $sRecommText );
00541 }
00542 }
00543
00549 public function addTags()
00550 {
00551 $sTag = $this->getConfig()->getParameter('newTags', true );
00552 $sTag .= " ".getStr()->html_entity_decode( $this->getConfig()->getParameter( 'highTags', true ) );
00553
00554 $oProduct = $this->getProduct();
00555 $oProduct->addTag( $sTag );
00556
00557
00558 $oTagHandler = oxNew( 'oxTagCloud' );
00559 $this->_sTagCloud = $oTagHandler->getTagCloud( $oProduct->getId() );
00560 }
00561
00562 public function editTags()
00563 {
00564 $oTagCloud = oxNew("oxTagCloud");
00565 $this->_aTags = $oTagCloud->getTags( $this->getProduct()->getId() );
00566 $this->_blEditTags = true;
00567 }
00568
00574 protected function _getSeoObjectId()
00575 {
00576 if ( $oProduct = $this->getProduct() ) {
00577 return $oProduct->getId();
00578 }
00579 }
00580
00586 public function getAttributes()
00587 {
00588 if ( $this->_aAttributes === null ) {
00589
00590 $aArtAttributes = $this->getProduct()->getAttributes();
00591
00592
00593 $this->_aAttributes = array();
00594 if ( count( $aArtAttributes ) ) {
00595 foreach ( $aArtAttributes as $sKey => $oAttribute ) {
00596 $this->_aAttributes[$sKey] = new stdClass();
00597 $this->_aAttributes[$sKey]->title = $oAttribute->oxattribute__oxtitle->value;
00598 $this->_aAttributes[$sKey]->value = $oAttribute->oxattribute__oxvalue->value;
00599 }
00600 }
00601 }
00602
00603 return $this->_aAttributes;
00604 }
00605
00606
00612 public function getEditTags()
00613 {
00614 return $this->_blEditTags;
00615 }
00616
00622 public function getTags()
00623 {
00624 return $this->_aTags;
00625 }
00626
00632 public function getTagCloud()
00633 {
00634 if ( $this->_sTagCloud === null ) {
00635 $this->_sTagCloud = false;
00636 $oTagHandler = oxNew('oxTagCloud');
00637 $this->_sTagCloud = $oTagHandler->getTagCloud($this->getProduct()->getId());
00638 }
00639 return $this->_sTagCloud;
00640 }
00641
00642
00648 public function getLoginFormAnchor()
00649 {
00650 return $this->_sLoginFormAnchor;
00651 }
00652
00658 public function getProduct()
00659 {
00660 $myConfig = $this->getConfig();
00661 $myUtils = oxUtils::getInstance();
00662
00663 if ( $this->_oProduct === null ) {
00664
00665
00666
00667 $myConfig->setConfigParam( 'blLoadVariants', true );
00668
00669 $sOxid = oxConfig::getParameter( 'anid' );
00670
00671
00672 $this->_oProduct = oxNew( 'oxarticle' );
00673 $this->_oProduct->setSkipAbPrice( true );
00674
00675 if ( !$this->_oProduct->load( $sOxid ) ) {
00676 $myUtils->redirect( $myConfig->getShopHomeURL() );
00677 $myUtils->showMessageAndExit( '' );
00678 }
00679 }
00680
00681
00682 if ( !$this->_blIsInitialized ) {
00683 if ( !$this->_oProduct->isVisible() ) {
00684 $myUtils->redirect( $myConfig->getShopHomeURL() );
00685 $myUtils->showMessageAndExit( '' );
00686 }
00687
00688 $this->_setLinkType( $this->_oProduct );
00689 $this->_blIsInitialized = true;
00690 }
00691
00692 return $this->_oProduct;
00693 }
00694
00703 protected function _setLinkType( $oProduct, $iListType = null )
00704 {
00705 $sListType = isset( $iListType ) ? $iListType : oxConfig::getParameter( 'listtype' );
00706 if ( 'vendor' == $sListType ) {
00707 $iLinkType = OXARTICLE_LINKTYPE_VENDOR;
00708 } elseif ( 'manufacturer' == $sListType ) {
00709 $iLinkType = OXARTICLE_LINKTYPE_MANUFACTURER;
00710 } else {
00711 $iLinkType = OXARTICLE_LINKTYPE_CATEGORY;
00712 }
00713
00714 $oProduct->setLinkType( $iLinkType );
00715 }
00716
00722 public function getVariantList()
00723 {
00724 return $this->loadVariantInformation();
00725 }
00726
00732 public function getCaptcha()
00733 {
00734 if ( $this->_oCaptcha === null ) {
00735 $this->_oCaptcha = oxNew('oxCaptcha');
00736 }
00737 return $this->_oCaptcha;
00738 }
00739
00745 public function getMediaFiles()
00746 {
00747 if ( $this->_aMediaFiles === null ) {
00748 $aMediaFiles = $this->getProduct()->getMediaUrls();
00749 $this->_aMediaFiles = count($aMediaFiles) ? $aMediaFiles : false;
00750 }
00751 return $this->_aMediaFiles;
00752 }
00753
00759 public function getLastProducts()
00760 {
00761 if ( $this->_aLastProducts === null ) {
00762
00763 $oProduct = $this->getProduct();
00764 $sArtId = $oProduct->oxarticles__oxparentid->value?$oProduct->oxarticles__oxparentid->value:$oProduct->getId();
00765
00766 $oHistoryArtList = oxNew( 'oxarticlelist' );
00767 $oHistoryArtList->loadHistoryArticles( $sArtId );
00768 $this->_aLastProducts = $oHistoryArtList;
00769 }
00770 return $this->_aLastProducts;
00771 }
00772
00778 public function getVendor()
00779 {
00780 if ( $this->_oVendor === null ) {
00781 $this->_oVendor = $this->getProduct()->getVendor( false );
00782 }
00783 return $this->_oVendor;
00784 }
00785
00791 public function getManufacturer()
00792 {
00793 if ( $this->_oManufacturer === null ) {
00794 $this->_oManufacturer = $this->getProduct()->getManufacturer( false );
00795 }
00796 return $this->_oManufacturer;
00797 }
00798
00804 public function getCategory()
00805 {
00806 if ( $this->_oCategory === null ) {
00807 $this->_oCategory = $this->getProduct()->getCategory();
00808 }
00809 return $this->_oCategory;
00810 }
00811
00817 public function drawParentUrl()
00818 {
00819 if ( ( $oParent = $this->_getParentProduct( $this->getProduct()->oxarticles__oxparentid->value ) ) ) {
00820 if ( $this->getConfig()->getConfigParam( 'blVariantParentBuyable' ) || count( $this->getVariantList() ) > 0 ) {
00821 return true;
00822 }
00823 }
00824 }
00825
00831 public function getParentName()
00832 {
00833 if ( $this->_sParentName === null ) {
00834 $this->_sParentName = false;
00835 if ( ( $oParent = $this->_getParentProduct( $this->getProduct()->oxarticles__oxparentid->value ) ) ) {
00836 $this->_sParentName = $oParent->oxarticles__oxtitle->value;
00837 }
00838 }
00839 return $this->_sParentName;
00840 }
00841
00847 public function getParentUrl()
00848 {
00849 if ( $this->_sParentUrl === null ) {
00850 $this->_sParentUrl = false;
00851 if ( ( $oParent = $this->_getParentProduct( $this->getProduct()->oxarticles__oxparentid->value ) ) ) {
00852 $this->_sParentUrl = $oParent->getLink();
00853 }
00854 }
00855 return $this->_sParentUrl;
00856 }
00857
00863 public function getPictureGallery()
00864 {
00865 if ( $this->_aPicGallery === null ) {
00866
00867 $this->_aPicGallery = $this->getProduct()->getPictureGallery();
00868 }
00869 return $this->_aPicGallery;
00870 }
00871
00877 public function getActPictureId()
00878 {
00879 $aPicGallery = $this->getPictureGallery();
00880 return $aPicGallery['ActPicID'];
00881 }
00882
00888 public function getActPicture()
00889 {
00890 $aPicGallery = $this->getPictureGallery();
00891 return $aPicGallery['ActPic'];
00892 }
00893
00899 public function morePics()
00900 {
00901 $aPicGallery = $this->getPictureGallery();
00902 return $aPicGallery['MorePics'];
00903 }
00904
00910 public function getPictures()
00911 {
00912 $aPicGallery = $this->getPictureGallery();
00913 return $aPicGallery['Pics'];
00914 }
00915
00923 public function getArtPic( $sPicNr )
00924 {
00925 $aPicGallery = $this->getPictureGallery();
00926 return $aPicGallery['Pics'][$sPicNr];
00927 }
00928
00934 public function getIcons()
00935 {
00936 $aPicGallery = $this->getPictureGallery();
00937 return $aPicGallery['Icons'];
00938 }
00939
00945 public function showZoomPics()
00946 {
00947 $aPicGallery = $this->getPictureGallery();
00948 return $aPicGallery['ZoomPic'];
00949 }
00950
00956 public function getZoomPics()
00957 {
00958 $aPicGallery = $this->getPictureGallery();
00959 return $aPicGallery['ZoomPics'];
00960 }
00961
00967 public function getActZoomPic()
00968 {
00969 return 1;
00970 }
00971
00977 public function getSelectLists()
00978 {
00979 if ( $this->_aSelectLists === null ) {
00980 $this->_aSelectLists = false;
00981 if ( $this->getConfig()->getConfigParam( 'bl_perfLoadSelectLists' ) ) {
00982 $this->_aSelectLists = $this->getProduct()->getSelectLists();
00983 }
00984 }
00985 return $this->_aSelectLists;
00986 }
00987
00993 public function getReviews()
00994 {
00995 if ( $this->_aReviews === null ) {
00996 $this->_aReviews = false;
00997 if ( $this->getConfig()->getConfigParam( 'bl_perfLoadReviews' ) ) {
00998 $this->_aReviews = $this->getProduct()->getReviews();
00999 }
01000 }
01001 return $this->_aReviews;
01002 }
01003
01009 public function getCrossSelling()
01010 {
01011 if ( $this->_oCrossSelling === null ) {
01012 $this->_oCrossSelling = false;
01013 if ( $oProduct = $this->getProduct() ) {
01014 $this->_oCrossSelling = $oProduct->getCrossSelling();
01015 }
01016 }
01017 return $this->_oCrossSelling;
01018 }
01019
01025 public function getSimilarProducts()
01026 {
01027 if ( $this->_oSimilarProducts === null ) {
01028 $this->_oSimilarProducts = false;
01029 if ( $oProduct = $this->getProduct() ) {
01030 $this->_oSimilarProducts = $oProduct->getSimilarProducts();
01031 }
01032 }
01033 return $this->_oSimilarProducts;
01034 }
01035
01041 public function getSimilarRecommLists()
01042 {
01043 if ( $this->_oRecommList === null ) {
01044 $this->_oRecommList = false;
01045 if ( $oProduct = $this->getProduct() ) {
01046 $oRecommList = oxNew('oxrecommlist');
01047 $this->_oRecommList = $oRecommList->getRecommListsByIds( array( $oProduct->getId() ) );
01048 }
01049 }
01050 return $this->_oRecommList;
01051 }
01052
01058 public function getAccessoires()
01059 {
01060 if ( $this->_oAccessoires === null ) {
01061 $this->_oAccessoires = false;
01062 if ( $oProduct = $this->getProduct() ) {
01063 $this->_oAccessoires = $oProduct->getAccessoires();
01064 }
01065 }
01066 return $this->_oAccessoires;
01067 }
01068
01074 public function getAlsoBoughtThiesProducts()
01075 {
01076 if ( $this->_aAlsoBoughtArts === null ) {
01077 $this->_aAlsoBoughtArts = false;
01078 if ( $oProduct = $this->getProduct() ) {
01079 $this->_aAlsoBoughtArts = $oProduct->getCustomerAlsoBoughtThisProducts();
01080 }
01081 }
01082 return $this->_aAlsoBoughtArts;
01083 }
01084
01090 public function isPriceAlarm()
01091 {
01092
01093 $oProduct = $this->getProduct();
01094 if ( isset( $oProduct->oxarticles__oxblfixedprice->value ) && $oProduct->oxarticles__oxblfixedprice->value ) {
01095 return 0;
01096 }
01097 return 1;
01098 }
01099
01106 protected function _getSubject()
01107 {
01108 return $this->getProduct();
01109 }
01110
01116 public function getSearchTitle()
01117 {
01118 return $this->_sSearchTitle;
01119 }
01120
01128 public function setSearchTitle( $sTitle )
01129 {
01130 $this->_sSearchTitle = $sTitle;
01131 }
01132
01140 public function setCatTreePath( $sActCatPath )
01141 {
01142 $this->_sCatTreePath = $sActCatPath;
01143 }
01144
01151 public function noIndex()
01152 {
01153 $sListType = oxConfig::getParameter( 'listtype' );
01154 if ( $sListType && ( 'vendor' == $sListType || 'manufacturer' == $sListType ) ) {
01155 return $this->_iViewIndexState = VIEW_INDEXSTATE_NOINDEXFOLLOW;
01156 }
01157 return parent::noIndex();
01158 }
01159
01165 public function getTitle()
01166 {
01167 if ( $oProduct = $this->getProduct() ) {
01168 return $oProduct->oxarticles__oxtitle->value . ( $oProduct->oxarticles__oxvarselect->value ? ' ' . $oProduct->oxarticles__oxvarselect->value : '' );
01169 }
01170 }
01171 }