Modul Products Attribut (Preis)
Modul Products Attribut (Preis)
Hallo,
habe folgendes Problem.
Ich habe ein Produkt mit verschiedenen Preisen und der wird bei den Attributs angegeben.
Jetzt habe ich z.B. den Preis für ein Produkt für "1.95" sobald ich es Bestellen möchte, wird es im Warenkorb als Preis von "1.00" angezeigt und die .95 sind verschwunden.
Der grund dafür ist das es im Select Feld für die Auswahl des Produkts mit "komma" staht "Punkt" angezeigt wird und dies auch im Wert, obwohl in der Datenbank und beim Eintrag von dem Preis ein Punkt geschrieben habe.
Kann mir jemand helfen?
Wie kann ich es ändern das nicht ein Komma angezeigt wird im Select Feld beim Preis?
mfg
habe folgendes Problem.
Ich habe ein Produkt mit verschiedenen Preisen und der wird bei den Attributs angegeben.
Jetzt habe ich z.B. den Preis für ein Produkt für "1.95" sobald ich es Bestellen möchte, wird es im Warenkorb als Preis von "1.00" angezeigt und die .95 sind verschwunden.
Der grund dafür ist das es im Select Feld für die Auswahl des Produkts mit "komma" staht "Punkt" angezeigt wird und dies auch im Wert, obwohl in der Datenbank und beim Eintrag von dem Preis ein Punkt geschrieben habe.
Kann mir jemand helfen?
Wie kann ich es ändern das nicht ein Komma angezeigt wird im Select Feld beim Preis?
mfg
Re: Modul Products Attribut (Preis)
So richtig weiss ich nicht, wo genau dein Problem ist - wie genau hast du denn den Preis eingegeben, mit Komma oder mit Punkt?
Re: Modul Products Attribut (Preis)
Mit einem Punkt.
Aber in der Selectbox und im Value wird es immr als Kommadargestellt obwohl es in der DB und beim eintrag mit Punkt eingetragen wurde.
Es ändert den "punkt" irgendwie in der Selectbox zum "komma".
Aber vor dem Preis in der Selectbox ist noch ein Text und dort wird der Punkt angezeigt.
Aber in der Selectbox und im Value wird es immr als Kommadargestellt obwohl es in der DB und beim eintrag mit Punkt eingetragen wurde.
Es ändert den "punkt" irgendwie in der Selectbox zum "komma".
Aber vor dem Preis in der Selectbox ist noch ein Text und dort wird der Punkt angezeigt.
Re: Modul Products Attribut (Preis)


Betrifft Eingabefelder für Preis und Gewicht.
Vielen Dank im Voraus für euer Einsatz.

Re: Modul Products Attribut (Preis)
Hmm, habt ihr mal eure Spracheinstellungen geprüft (auch in der config.php)?
Wenn ich mich recht entsinne, wird das (Punkt=EN, Komma=DE) doch mit den Spracheinstellungen automatisch umgestellt ...
Wenn ich mich recht entsinne, wird das (Punkt=EN, Komma=DE) doch mit den Spracheinstellungen automatisch umgestellt ...
Last edited by cyberman on Wed Sep 29, 2010 3:24 pm, edited 1 time in total.
Re: Modul Products Attribut (Preis)
Die Sprache wurde auf "Kein Standard" und auf "Englisch" abwechselnd umgestellt. Keine Auswirkung. In config.php habe ich nichts gefunden, was auf die Sprache hindeuten würde.
Re: Modul Products Attribut (Preis)
Und was ist mitLightFighter wrote: In config.php habe ich nichts gefunden, was auf die Sprache hindeuten würde.
Code: Select all
$config['locale'] = 'de_DE';
Re: Modul Products Attribut (Preis)
Danke, für den Hinweis. Bei mir war gar nichts eingetragen.
Ich habe zwar de_DE eingetragen, hat aber nichts gebracht. Was mir noch aufgefallen ist: die selbstdefinierte Felder trifft das Problem nicht. Ich habe z.B. Das Feld Versandkosten eingefügt, dort bleibt der Punkt unverändert. Dieses Verhalten muss also irgendwo im Modul oder im CMS festgelegt sein. Aber wo? Kann ich nicht finden.
Das Einzige was ich gefunden habe ist
in action.editproduct.php
Code: Select all
$config['locale'] = '';
Das Einzige was ich gefunden habe ist
Code: Select all
$price = '';
if (isset($params['price']))
{
$price = (float)$params['price'];
}
$weight = '';
if (isset($params['weight']))
{
$weight = (float)$params['weight'];
}
Re: Modul Products Attribut (Preis)
Auch das noch...
Wenn ich bei Gewicht z.B. 0.325 eingebe, kommt beim nächsten Aufruf 0,33 raus! Die Felder für Preis und Gewicht sind definitiv auf 2 Nachkommastellen vorformatiert.
Tja, das war wohl ein Gedankenfehler. Ein Kilo ist ja bekanntlich 1000 Gramm und nicht 100

Tja, das war wohl ein Gedankenfehler. Ein Kilo ist ja bekanntlich 1000 Gramm und nicht 100

Re: Modul Products Attribut (Preis)
Hmm, setlocale scheint bei dir nicht durchzugreifen - füge malLightFighter wrote: Ich habe zwar de_DE eingetragen, hat aber nichts gebracht.
Code: Select all
setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
Hmm, offensichtlich scheint es an dieser Stelle noch ein String zu sein, dennWas mir noch aufgefallen ist: die selbstdefinierte Felder trifft das Problem nicht. Ich habe z.B. Das Feld Versandkosten eingefügt, dort bleibt der Punkt unverändert.
Code: Select all
$price = (float)$params['price'];
Du könntest außerdem noch versuchen, number_format() als Modifikator einzusetzen
http://www.selfphp.info/funktionsrefere ... format.php
Re: Modul Products Attribut (Preis)
Tut mir Leid... Das Einfügen von setlocale hat auch keine Veränderungen gebracht.
Wenn ich mal die Artikelbeschreibung o.ä. bearbeiten muss/möchte, öffne ich halt dieses Formular, und wenn ich nicht aufpasse oder jemand das Formular öffnet, der diese Macke nicht kennt, ändern sich die Preise und Gewichte automatisch. Das will doch keiner.
Den Modifikator benutze ich auch erfolgreich in Templates. Aber hier geht es um die vordefinierte Felder eines Formulars vom Modul Products (Artikelverwaltung). Ich kann einfach nich fassen, wo genau diese Umwandlung von 0.325 zu 0,33 passiert. Beim Speichern verwandelt sich natürlich 0,33 in 0,00, da das System nur Punkt als Dezimaltrennung akzeptiert. Das steht sogar als Hilfehinweis unter dem Eingabefeld! Ist die Situation nicht doof? :-\Du könntest außerdem noch versuchen, number_format() als Modifikator einzusetzen
Wenn ich mal die Artikelbeschreibung o.ä. bearbeiten muss/möchte, öffne ich halt dieses Formular, und wenn ich nicht aufpasse oder jemand das Formular öffnet, der diese Macke nicht kennt, ändern sich die Preise und Gewichte automatisch. Das will doch keiner.
Last edited by LightFighter on Thu Oct 14, 2010 9:26 am, edited 1 time in total.
Re: Modul Products Attribut (Preis)
Halleluja! Ich habs gefunden!!! 
In der gleichen Datei (Products/action.editproduct.php) nur ein paar Zeilen weiter werden die ganzen Smarty-Variablen definiert und initialisiert. Dort in der Zeile 592 (ungefähr) wird die Variable {$inputprice} erstellt (sie wird später im Template editproduct.tpl aufgerufen).
Als Parameter zur Initialisierung der Variable wurde sprintf("%.2f",$price) benutzt. Genau hier ist der Schlusselpunkt.
Wenn man stattdessen number_format($price, 2, '.', ',') nimmt, bekommt man eine richtige Vorformatierung.
Zwei Zeilen weiter wird das Gleiche an die Variable {$inputweight} angewendet. Nur mit 3 Nachkommastellen, bitte: number_format($weight, 3, '.', ',').
Vielen Dank, cyberman. Dein Tipp mit number_format war genau richtig.

In der gleichen Datei (Products/action.editproduct.php) nur ein paar Zeilen weiter werden die ganzen Smarty-Variablen definiert und initialisiert. Dort in der Zeile 592 (ungefähr) wird die Variable {$inputprice} erstellt (sie wird später im Template editproduct.tpl aufgerufen).
Als Parameter zur Initialisierung der Variable wurde sprintf("%.2f",$price) benutzt. Genau hier ist der Schlusselpunkt.
Wenn man stattdessen number_format($price, 2, '.', ',') nimmt, bekommt man eine richtige Vorformatierung.
Zwei Zeilen weiter wird das Gleiche an die Variable {$inputweight} angewendet. Nur mit 3 Nachkommastellen, bitte: number_format($weight, 3, '.', ',').
Vielen Dank, cyberman. Dein Tipp mit number_format war genau richtig.
Re: Modul Products Attribut (Preis)
dalton, du kannst das Thema ruhig mit [GELÖST] versehen. 

Re: Modul Products Attribut (Preis)
Wird gemacht. Ich muss erstmal meine Englischkenntnisse zusammenkratzen. 
