66 $this->_sCacheKey =
"simplevariants";
67 $this->
init(
'oxarticles');
102 if ($this->_oUser === null) {
103 $this->_oUser = $this->
getUser();
116 $dPrice = $this->oxarticles__oxprice->value;
118 if ($oUser->inGroup(
'oxidpricea')) {
119 $dPrice = $this->oxarticles__oxpricea->value;
120 } elseif ($oUser->inGroup(
'oxidpriceb')) {
121 $dPrice = $this->oxarticles__oxpriceb->value;
122 } elseif ($oUser->inGroup(
'oxidpricec')) {
123 $dPrice = $this->oxarticles__oxpricec->value;
128 if ($this->
getConfig()->getConfigParam(
'blOverrideZeroABCPrices') && (double) $dPrice == 0) {
129 $dPrice = $this->oxarticles__oxprice->value;
145 if (!
$myConfig->getConfigParam(
'bl_perfLoadPrice')) {
149 if ($this->_oPrice === null) {
150 $this->_oPrice =
oxNew(
"oxPrice");
152 $this->_oPrice->setPrice($dPrice, $this->_dVat);
158 } elseif (($oParent = $this->
getParent())) {
159 $this->_oPrice = $oParent->getPrice();
175 $oCur = $this->
getConfig()->getActShopCurrencyObject();
189 $oParent->applyDiscountsForVariant($oPrice);
200 if (($oParent = $this->
getParent()) && !$this->
getConfig()->getConfigParam(
'bl_perfCalcVatOnlyForBasketOrder')) {
201 $oParent->applyVats($oPrice);
212 $this->_oPrice = $oPrice;
223 if (($oPrice = $this->
getPrice())) {
237 $this->_oParent = $oParent;
259 $iLinkType = $oParent->getLinkType();
276 $blIn = $oParent->inCategory($sCatNid);
293 $blIn = $oParent->inPriceCategory($sCatNid);
310 if (!isset($this->_aBaseStdUrls[$iLang][$iLinkType])) {
311 $oArticle =
oxNew(
"oxArticle");
312 $oArticle->setId($this->
getId());
313 $oArticle->setLinkType($iLinkType);
314 $this->_aBaseStdUrls[$iLang][$iLinkType] = $oArticle->getBaseStdLink($iLang, $blAddId, $blFull);
317 return $this->_aBaseStdUrls[$iLang][$iLinkType];
328 public function getStdLink($iLang = null, $aParams = array())
330 if ($iLang === null) {
335 if (!isset($this->_aStdUrls[$iLang][$iLinkType])) {
336 $oArticle =
oxNew(
"oxArticle");
337 $oArticle->setId($this->
getId());
338 $oArticle->setLinkType($iLinkType);
339 $this->_aStdUrls[$iLang][$iLinkType] = $oArticle->getStdLink($iLang, $aParams);
342 return $this->_aStdUrls[$iLang][$iLinkType];
354 return oxRegistry::get(
"oxSeoEncoderArticle")->getArticleUrl($this, $iLang, $iLinkType);
366 if ($iLang === null) {
375 if (!isset($this->_aSeoUrls[$iLang][$iLinkType])) {
376 $this->_aSeoUrls[$iLang][$iLinkType] = $this->
getBaseSeoLink($iLang);
379 return $this->_aSeoUrls[$iLang][$iLinkType];