Antwort #153 am: 09. Juni 2017, 06:36:50
Hallo,
ich habe es jetzt mal versucht in v2.0.2.2 rev 10690 ein zubauen, keine Ahnung ob es gut oder nicht so gut ist aber es macht was es soll und funktioniert:
in der Datei: includes/classes/product.php
suchen
$productDataAdds = array ( 'PRODUCTS_PRICE' => $products_price['formated'], und davor das einfügen
if ($array['products_date_added'] != '0000-00-00 00:00:00' && MAX_DISPLAY_NEW_PRODUCTS_DAYS
!= '0') { $date_new_products = date("Y-m-d", mktime(1, 1, 1, date("m"), date("d") - MAX_DISPLAY_NEW_PRODUCTS_DAYS
, date("Y"))); if ($date_new_products." 00:00:00"> $array['products_date_added']) { $product_isnew = ''; //Produkt ist alt } else { $product_isnew = '1'; //Produkt ist neu }} und nach
'PRODUCTS_PRICE' => $products_price['formated'],
das einfügen
'PRODUCTS_OLDNEW'=>$product_isnew,
'PRODUCTS_PRICE_P' => $products_price['percent'],
und in der includes/classes/xtcPrice.php
suche
function xtcFormatSpecial
und die komplette Funktion austauschen mit
function xtcFormatSpecial
($pID, $sPrice, $pPrice, $format, $vpeStatus = 0) { if ($format) { if (!isset($pPrice) || $pPrice == 0) { $discount = 0; } else { $discount = ($pPrice - $sPrice) / $pPrice * 100; } $old_price = $this->xtcFormat($pPrice, $format); $special_price = $this->xtcFormat($sPrice, $format); $save_percent = round($discount); $save_diff = $this->xtcFormat($pPrice - $sPrice, $format); $from = $this->checkAttributes($pID); $price = '<span class="productOldPrice"><small>' . INSTEAD
. '</small><del>' . $old_price . '</del></span><br /><span class="productNewPrice">' . ONLY
. $from . $special_price . '</span><br /><small class="productSavePrice">' . YOU_SAVE
. $save_percent . ' % /' . $save_diff . '</small>'; $price_perc = round($discount); if ($this->cStatus['customers_status_show_price_tax'] == '0') { $Bprice = $this->xtcFormatCurrency($this->xtcAddTax($sPrice, $this->TAX[$this->tax_class])); $Nprice = $special_price; } else { $Bprice = $special_price; $Nprice = $this->xtcFormatCurrency($this->xtcRemoveTax($sPrice, $this->TAX[$this->tax_class])); } if ($vpeStatus == 0) { $return = $price; } else { $return = array( 'formated' => $price, 'plain' => $sPrice, 'percent' => $price_perc, 'special_price' => $special_price, 'old_price' => $old_price, 'save_percent' => $save_percent, 'save_diff' => $save_diff, 'from' => $from, 'flag' => 'Special', 'netto' => $Nprice, 'brutto' => $Bprice ); } } else { $return = $this->show_price_tax ?
round($sPrice, $this->currencies[$this->actualCurr]['decimal_places']) : $sPrice; } $return = $this->priceModules->FormatSpecial($return, $pID, $sPrice, $pPrice, $format, $vpeStatus); return $return; } und dann kann man in Product_listing es wie gewohnt mit
{if $module_data.PRODUCTS_PRICE_P != ''}
<div class="product_special">{$module_data.PRODUCTS_PRICE_P}</div>
{/if}
{if $module_data.PRODUCTS_OLDNEW != '' && $module_data.PRODUCTS_PRICE_P == ''}
<div class="product_isnew"></div>
{/if}
das ganze Anzeigen
Gruß Speedy-1813