Denn es ist ein Gott und ein Mittler zwischen Gott und den Menschen, nämlich der Mensch Christus Jesus, der sich selbst gegeben hat für alle zur Erlösung, daß solches zu seiner Zeit gepredigt würde;
1 Timotheus 2:5-6
autor | |
15-04-11 13:49:12 | priceThousandPoint Problem |
Andreas Pohl |
Hallo Herr Holzinger, Wir haben bei unseren Preisen die Deutsche Punktierung angewendet. Im Setup habe ich folgendes konfiguriert: plugin.tt_products.priceDec = 2 plugin.tt_products.priceDecPoint = , plugin.tt_procucts.priceThousandPoint = Leider fügt er bei manchen Tausenderpreisen, die keine Nachkommastellen haben ein , als Tausenderzeichen ein. Die Angaben bei priceThousandPoint ignoriert er völlig. Auch wenn ich dort ein . einfüge. Hier ein Beispielscreenshot: http://blog.wilke.de/typo/bsp_thousandpoint.jpg Ich hoffe Sie können uns da mal wieder weiterhelfen :) Grüße, Andreas Pohl |
18-04-11 07:37:23 | noZeroDecimalPoint |
Andreas Pohl |
Hallo Herr Holzinger, ich konnten den Fehler einwenig eingrenzen. Wenn ich noZeroDecimalPoint ausschalte, tritt er nicht mehr auf. Es muss also etwas am Code der Konfiguration für die wegfallenden Nachkommastellen sein oder eben durch die Verbindung der fehlenden Nachkommastellen. Grüße, Andreas Pohl |
18-04-11 14:51:17 | Vorschlag zur Änderung |
Franz Holzinger |
Probieren Sie das aus: view/field/class.tx_ttproducts_field_price_view.php public function priceFormat ($double) { $cnf = &t3lib_div::getUserObj('&tx_ttproducts_config'); $conf = &$cnf->conf; $double = round($double, 10); if ($conf['noZeroDecimalPoint'] && round($double, 2) == intval($double)) { $rc = number_format($double); $rc = number_format($double, 0, '', $conf['priceThousandPoint']); } else { $rc = number_format($double, intval($conf['priceDec']), $conf['priceDecPoint'], $conf['priceThousandPoint']); } return $rc; } // priceFormat |
18-04-11 15:24:34 | funktioniert halbwegs |
Andreas Pohl |
Das komische auftauchende Komma scheint nicht mehr zu erscheinen. Jedoch macht er auch keine tausendertrennung mit einem Punkt wie ich das jetzt konfiguriert habe. Das ist aber erstmal nicht tragisch. |
18-04-11 18:58:45 | 0 |
Franz Holzinger |
Vermutlich benötigt er einen '.' als Parameter, also so: $rc = number_format($double, 0, '.' , $conf['priceThousandPoint']); |
19-04-11 07:53:42 | leider nicht |
Andreas Pohl |
funktioniert leider auch mit dem '.' nicht. |
20-04-11 21:58:00 | Test PHP Code |
Franz Holzinger |
Ich habe folgenden PHP Code zum Testen geschrieben: 1. Beispiel: $double = '83776633'; $rc = number_format($double, 0, '.' , '.'); debug ($rc, 'init priceFormat $rc'); Ergebnis: 83.776.633 2. Beispiel: $rc = number_format($double, 0, '.' , ''); Ergebnis: 83776633 Es passt alles. Oder welchen Fall haben Sie ausprobiert? |
3-05-11 07:45:59 | Setup |
Andreas Pohl |
Wenn ich das so übernehme wie sie das hier vorgeschlagen haben funktioniert es bei mir teilweise auch. Alle Marker werden auch entsprechend mit den tausenderpunkten ersetzt. Lediglich der Marker ###PRICE_TOTEL_TAX### übernimmt diese Konfiguration gar nicht. Wir haben uns entschieden doch keine tausenderpunkte zu verwenden aber es scheint als wäre da noch ein Fehler im System. Nun funktioniert es aber auch mit meiner Konfiguration. Leider eben nicht beim PRICE_TOTAL_TAX. |
3-05-11 10:49:20 | unklar |
Franz Holzinger |
Iich habe alle Stellen untersucht, in denen der Marker ###PRICE_TOTAL_TAX### erzeugt wird. Es wird jedes Mal die Methode priceFormat vor Zuweisung aufgerufen. Oder welche Version von tt_products wäre das? Oder tritt dieser Fehler nur bei einem bestimmten Preis auf? |
5-07-11 15:12:47 | Auflistung |
Andreas Pohl |
Hier der Link zu unserer Homepage: http://wilke.de Wenn sie nun einmal genügend Produkte in den Warenkorb legen um einen Preis zu erzeugen der hoch genug ist, sollten sie das Problem sehen. ###PRICE_TOTAL_NO_TAX### = hat ein , als Tausendertrennung ###PRICE_TOTAL_ONLY_TAX### = keine Trennung ###PRICE_TOTAL_TAX### = keine Trennung Hierbei ist derzeit keine Trennung für die tausenderpreise konfiguriert. Selbst wenn ich aber ein . als Trennung eingebe, funktioniert das nur für ONLY_TAX und TAX, aber nicht für NO_TAX. Dort bleiben immer die blöden Kommas bestehen. Grüße, Andreas Pohl |
5-07-11 15:17:11 | vergessen |
Andreas Pohl |
###PRICE_TOTAL_TAX### = hat auch ein , als Tausendertrennung |
5-07-11 19:29:10 | welche Version von tt_products? |
Franz Holzinger |
Ich habe keinen Marker '###PRICE_TOTAL_TAX###' gefunden, bei dem das beschriebene Verhalten auftritt. Das müsste man irgendwo debuggen, denn sonst suche ich vergeblich. |
6-07-11 07:06:40 | Version |
Andreas Pohl |
2.9.1.. |
6-07-11 19:04:03 | Beispiel |
Franz Holzinger |
Ich habe es mit tt_products 2.9.1 nachgetestet. In beiden Markern wird ein Komma als ',' gesetzt. Daten: plugin.tt_products.priceDec = 2 plugin.tt_products.priceDecPoint = , plugin.tt_products.priceThousandPoint = Sie haben einen Tippfehler in den Constants von priceThousandPoint Für die Unterstützung der Tausenderformatierung muss der Code noch erweitert werden auf: view/field/class.tx_ttproducts_field_price_view.php public function priceFormat ($double) { $cnf = &t3lib_div::getUserObj('&tx_ttproducts_config'); $conf = &$cnf->conf; $double = round($double, 10); if ($conf['noZeroDecimalPoint'] && round($double, 2) == intval($double)) { $rc = number_format($double, 0, $conf['priceDecPoint'], $conf['priceThousandPoint']); } else { $rc = number_format($double, intval($conf['priceDec']), $conf['priceDecPoint'], $conf['priceThousandPoint']); } return $rc; } // priceFormat |
12-07-11 09:23:02 | funktioniert! |
Andreas Pohl |
Dankeschön :) Werden sie das in den nächsten Versionen der 2.9 auch einpflegen oder soll ich das in meine Liste der Änderungen bei Updates einpflegen? |
12-07-11 12:39:48 | nächstes Update |
Franz Holzinger |
Das wird in der nächsten Zwischenversion von 2.9.1 mit dabei sein. Sie können es jetzt schon manuell selber einfügen. |
< Zurück zum Forum |