Antwort #96 am: 13. März 2019, 11:34:45
Hallo goair,
also ich habe jetzt mal nachgeschaut und ich denke es geht um deine
Antwort #85Den Code aus deiner xtcPrice.php welchen du dort gepostet hast ist mir unverständlich.
Was willst du dort mit folgender Zuweisung bezwecken
$Pprice =
$this->checkAttributes($pID).$this->currencies[$this->actualCurr]['symbol_left'].'
'.$Pprice.' '.$this->currencies[$this->actualCurr]['symbol_right'];
und weshalb steht dort
$Pprice = preisaufanfrage;
wenn du in der german.php folgende Definition eingefügt hast.
define('TEXT_ON_REQUEST', 'Preis auf Anfrage'); Ausserdem fehlen in der If-else-Anweisung die geschweiften Klammern.
[...]
Da mein Shop zwei Währungen hat und der Preis = 0 den Wert auch bei Selbstabholung rein schreibt, habe ich auf 911.- umgestellt, beim Währungswechsle ist es dann aber ein anderer Wert.
[..]
Hat es einen Grund weshalb der Preis genau 911.- betragen muss, oder könnte er auch z.B. 1000000.- betragen?
PS:
Bei meiner includes/classes/xtcPrice.php sieht die unbearbeitete Funktion so aus
/**
* xtcFormatCurrency
*
* @param double $price
* @param integer $decimal_places
* @return unknown
*/ function xtcFormatCurrency
($price, $decimal_places = 0, $round = true) { $decimal_places = ($decimal_places > 0) ?
$decimal_places : $this->currencies[$this->actualCurr]['decimal_places']; if ($round === false) { $price_array = explode('.', $price, 2); $price = intval($price); if (count($price_array) > 1) { $price .= '.'.substr($price_array[1], 0, $decimal_places); } } $Pprice = number_format(floatval($price), $decimal_places, $this->currencies[$this->actualCurr]['decimal_point'], $this->currencies[$this->actualCurr]['thousands_point']); $Pprice = $this->currencies[$this->actualCurr]['symbol_left'] . ' ' . $Pprice . ' ' . $this->currencies[$this->actualCurr]['symbol_right']; return trim($Pprice); } und ich würde sie testweise, sofern du den Preis für Produkte welche den Text "Preis auf Anfrage" erhalten sollen auch auf 1000000.- setzen kannst, durch folgenden Code ersetzen.
/**
* xtcFormatCurrency
*
* @param double $price
* @param integer $decimal_places
* @return unknown
*/ function xtcFormatCurrency
($price, $decimal_places = 0, $round = true) { $decimal_places = ($decimal_places > 0) ?
$decimal_places : $this->currencies[$this->actualCurr]['decimal_places']; if ($round === false) { $price_array = explode('.', $price, 2); $price = intval($price); if (count($price_array) > 1) { $price .= '.'.substr($price_array[1], 0, $decimal_places); } } $Pprice = number_format(floatval($price), $decimal_places, $this->currencies[$this->actualCurr]['decimal_point'], $this->currencies[$this->actualCurr]['thousands_point']); $Pprice = $this->currencies[$this->actualCurr]['symbol_left'] . ' ' . $Pprice . ' ' . $this->currencies[$this->actualCurr]['symbol_right']; if ($price > 200000) $Pprice = TEXT_ON_REQUEST
; return trim($Pprice); } Gruss
Hanspeter