View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001652 | OXID eShop (all versions) | 1.01. Products (product, categories, manufacturer, promotions etc.) | public | 2010-02-10 19:05 | 2012-12-07 14:10 |
Reporter | highdev | Assigned To | |||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | duplicate | ||
Product Version | 4.2.0 revision 23610 | ||||
Summary | 0001652: variant abc prices are not shown in article list | ||||
Description | If you assign abc prices to a variable, these prices will be shown in article details but not on the article list (category view). There is still the "normal" price. | ||||
Tags | Attributes | ||||
Theme | |||||
Browser | All | ||||
PHP Version | any | ||||
Database Version | any | ||||
duplicate of | 0001723 | resolved | arvydas_vapsva | special variant prices for usergroups not shown in article list |
|
should be read as: If you assign abc prices to a VARIANT ... possible fix: oxsimplevariant /** * Implementing (faking) performance friendly method from oxArticle * * @return oxPrice */ public function getPrice() { if (!is_null($this->_oPrice)) { return $this->_oPrice; } $oUser = $this->getUser(); $this->_oPrice = oxNew("oxPrice"); if ($oUser) { if ( $oUser->inGroup( 'oxidpricea' ) ) { $dPrice = $this->oxarticles__oxpricea->value; } else if ( $oUser->inGroup( 'oxidpriceb' ) ) { $dPrice = $this->oxarticles__oxpriceb->value; } else if ( $oUser->inGroup( 'oxidpricec' ) ) { $dPrice = $this->oxarticles__oxpricec->value; } else { $dPrice = $this->oxarticles__oxprice->value; } } else { $dPrice = $this->oxarticles__oxprice->value; } if (!$dPrice) { $dPrice = $this->_getParentPrice(); } $this->_oPrice->setPrice($dPrice, $this->_dVat); $this->_applyParentVat($this->_oPrice); $this->_applyCurrency($this->_oPrice); // apply discounts $this->_applyParentDiscounts($this->_oPrice); return $this->_oPrice; } /** * Returns parent price. Assuming variant parent has been assigned before function execution. * * @return double */ protected function _getParentPrice() { $oUser = $this->getUser(); if ($oUser) { if ( $oUser->inGroup( 'oxidpricea' ) ) { $price = $this->_oParent->oxarticles__oxpricea->value; } else if ( $oUser->inGroup( 'oxidpriceb' ) ) { $price = $this->_oParent->oxarticles__oxpriceb->value; } else if ( $oUser->inGroup( 'oxidpricec' ) ) { $price = $this->_oParent->oxarticles__oxpricec->value; } else { $price = $this->_oParent->oxarticles__oxprice->value; } } else { $price = $this->_oParent->oxarticles__oxprice->value; } if (!$price && $this->getConfig()->getConfigParam( 'blOverrideZeroABCPrices' )) { $price = $this->oxarticles__oxprice->value; } if (!$price && $this->getConfig()->getConfigParam( 'blOverrideZeroABCPrices' )) { $price = $this->_oParent->oxarticles__oxprice->value; } return $price; } |
|
I did reproduce it in 4.2.0, but not in the current eShop trunk |