Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Bestellsumme ohne Nachkommastellen

    coma

    • Frisch an Board
    • Beiträge: 70
    Bestellsumme ohne Nachkommastellen
    am: 13. November 2011, 17:03:52
    Hallo zusammen,

    habe hier ein grosses Problem mit unserem shop, den wir gerade neu aufsetzen

    Bei einer Bestellung von zwei Artikeln zeigt die Zusammenfassung folgendes an, aber alles im Warenkorb stimmt bis zum Schluss, erst wenn die Bestellung abgeschlossen ist und man sich die Bestellung zur Kontrolle noch mal ansehen will, stimmt's nicht mehr. Auch stimmt die Bestellbestätigung die per Mail gesendet wird nicht und sieht so aus:

    Zitat
    Artikel      Preis (exkl.)   MwSt.   Preis (inkl.)   Total
    "Artikel1"   63.87 EUR   19%    76.00 EUR    76.00 EUR
    "Artikle2"   32.77 EUR   19%    39.00 EUR    39.00 EUR
          Zwischensumme:             116,90 EUR

          Versandkosten nach Zonen :       4,95 EUR
          (Versand nach: DE : 5 kg)
          inkl. MwSt. 19%:          18,66 EUR
          Summe:                121,85 EUR

    Artikel1 ist preislich mit 64,66 Netto hinterlegt -> 76,94
    Artikle2 ist preislich mit 33,57 Netto hinterlegt -> 39,95

    Das ergibt die Zwischensumme von 116,90

    Warum werden die Preise ohne Nachkommastelle angezeigt, aber die Zwischensumme richtig berechnet? Eventuell habe ich irgendwas verbogen. Ich hatte ein ähnliches Problem beim Export zum Google Merchant Center dort habe ich in der "google_rss_feed.php" folgende Zeile entfernt, dann ging es wieder:

    Code: PHP  [Auswählen]
    $price = $xtPrice->xtcFormat($price,true);

    Das hat zwar dort das Problem gelöst, aber die Ursache muss ja wo anders liegen wenn ich hier das gleiche Problem habe. Ausserdem weiss ich nicht in welcher Datei das mit dem Warenkorb abgehandelt wird.

    Hat jemand 'ne Idee was ich falsch gemacht haben könnte bzw. wo ich suchen sollte?

    Vielen vielen Dank für Tipps!
    Gruß, Ralf

    Linkback: https://www.modified-shop.org/forum/index.php?topic=16686.0

    coma

    • Frisch an Board
    • Beiträge: 70
    Re: Bestellsumme ohne Nachkommastellen
    Antwort #1 am: 13. November 2011, 20:32:51
    Vielleicht wir ja jemand wenigstens aus meine Fehlern klug...

    Es funktioniert alles wieder. Ich hatte, weil die Anzeige unter den Artikeln "Diesen Artikel haben wir am ... in unseren Katalog aufgenommen" datumsmässig nicht richtig formatiert war, die Datei "/lang/german/german.php" angepasst und dort

    Code: PHP  [Auswählen]
    @setlocale(LC_TIME, 'de_DE@euro', 'de_DE', 'de-DE', 'de', 'ge', 'de_DE.ISO_8859-1', 'German','de_DE.ISO_8859-15');

    in

    Code: PHP  [Auswählen]
    @setlocale(LC_ALL, 'de_DE.UTF-8');

    geändert.

    Das hat wohl weitreichende Auswirkungen gehabt...

    Nachdem ich diese Änderung zurückgenommen habe, funktioniert wieder alles.

    Gruß, Ralf

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.372
    • Geschlecht:
    Re: Bestellsumme ohne Nachkommastellen
    Antwort #2 am: 13. November 2011, 22:49:32
    Was auch immer du mit dem UTF-8 erreichen wolltest, du hättest mal versuchen können:

    Code: PHP  [Auswählen]
    @setlocale(LC_TIME, 'de_DE@euro', 'de_DE', 'de-DE',
    'de', 'ge', 'de_DE.UTF-8');

    Grüße

    Torsten

    coma

    • Frisch an Board
    • Beiträge: 70
    Re: Bestellsumme ohne Nachkommastellen
    Antwort #3 am: 13. November 2011, 23:15:49
    Hallo Tomcraft,

    danke für die Info.

    Ich hab den Standard drin gelassen und die Anzeige von "Diesen Artikel haben wir am ... in unseren Katalog aufgenommen" weggelassen.

    Dann war das LC_ALL mein Problem?

    Bin ganz froh, dass ich den Fehler überhaupt gefunden habe und gemerkt habe, dass dieser so weitreichende Folgen hat.

    Danke, ist ein tolles Forum hier.

    Wir sind vom Virtuemart Shop zu modified eCommerce Shopsoftware gewechselt, im Virtuemalrt Forum gibt's nur ganz selten überhaupt 'ne Antwort oder Reaktion... Ausserdem ist Virtuemart sehr sehr langsam im Vergleich zu modified eCommerce Shopsoftware.

    Gruß, Ralf

    franky_n

    • Experte
    • Beiträge: 4.950
    Re: Bestellsumme ohne Nachkommastellen
    Antwort #4 am: 13. November 2011, 23:40:45
    Hallo coma,

    normalerweise ist aber UTF-8 eine Einstellung die nicht mit der normalen Version 1.05 vom Shop funktioniert denn der kann noch gar kein UTF-8.
    Darum fragte sich auch Tomcraft warum Du das umstellen willst.
    Nur so als Hintergrund Info...

    VIele Grüße

    Franky

    coma

    • Frisch an Board
    • Beiträge: 70
    Re: Bestellsumme ohne Nachkommastellen
    Antwort #5 am: 14. November 2011, 07:51:00
    Hallo,

    ich hatte meine Servereinstellung per locale Befehl ausgelesen und das hier war das Ergebnis, deshalb UTF-8:

    Zitat
    LANG=de_DE.UTF-8
    LANGUAGE=de_DE:en_US:de_LU:de_CH:de_BE:de_AT
    LC_CTYPE="de_DE.UTF-8"
    LC_NUMERIC="de_DE.UTF-8"
    LC_TIME="de_DE.UTF-8"
    LC_COLLATE="de_DE.UTF-8"
    LC_MONETARY="de_DE.UTF-8"
    LC_MESSAGES="de_DE.UTF-8"
    LC_PAPER="de_DE.UTF-8"
    LC_NAME="de_DE.UTF-8"
    LC_ADDRESS="de_DE.UTF-8"
    LC_TELEPHONE="de_DE.UTF-8"
    LC_MEASUREMENT="de_DE.UTF-8"
    LC_IDENTIFICATION="de_DE.UTF-8"
    LC_ALL=

    Matt

    • Experte
    • Beiträge: 4.241
    Re: Bestellsumme ohne Nachkommastellen
    Antwort #6 am: 14. November 2011, 08:56:37
    Das ist jetzt mal nur die aktuelle Konfiguration deines Systems. Welche locales dir zur Verfügung stehen bekommst du mit 'locale -a' raus. Und mittels setlocale kannst du dann das gewünschte setzen und nutzen. LC_TIME auf de_AT setzen hat beispielsweise zur Folge, dass Jänner statt Januar ausgegeben wird.

    Während LC_TIME sich aber nur auf Datum und Uhrzeit auswirkt setzt LC_ALL einfach alle Parameter auf den angegebenen Wert. Und davon betroffen sind dann u.A. auch die Dezimaltrenner für Fließkommazahlen, was, wie du ja bereits festgestellt hast, zu Problemen führen kann.

    coma

    • Frisch an Board
    • Beiträge: 70
    Re: Bestellsumme ohne Nachkommastellen
    Antwort #7 am: 14. November 2011, 10:15:46
    Zitat
    # locale -a
    C
    de_AT.utf8
    de_BE.utf8
    de_CH.utf8
    de_DE.utf8
    de_LU.utf8
    en_US.utf8
    POSIX

    Matt

    • Experte
    • Beiträge: 4.241
    Bestellsumme ohne Nachkommastellen
    Antwort #8 am: 14. November 2011, 13:46:22
    Ungünstig für modified eCommerce Shopsoftware. Da sollte der Provider noch ein paar locales nachinstallieren, sonst sprechen wir uns spätestens im März wieder.

    coma

    • Frisch an Board
    • Beiträge: 70
    Re: Bestellsumme ohne Nachkommastellen
    Antwort #9 am: 14. November 2011, 14:36:59
    Ist ein root server, dann muss ich das wohl machen... ;-)

    Was passiert im März?

    [EDIT Tomcraft 14.11.2011: Full-Quote entfernt, siehe: FAQ: Full-Quotes und Groß-/Kleinschreibung - mit anderen Worten Netiquette!]

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.372
    • Geschlecht:
    Re: Bestellsumme ohne Nachkommastellen
    Antwort #10 am: 14. November 2011, 14:42:26
    Da hat der Monat einen Umlaut! :crazy:

    Grüße

    Torsten

    coma

    • Frisch an Board
    • Beiträge: 70
    Re: Bestellsumme ohne Nachkommastellen
    Antwort #11 am: 14. November 2011, 15:07:32
    Hallo Torsten,

    ja stimmt. ;-) Und?

    Gruß, Ralf

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.372
    • Geschlecht:
    Re: Bestellsumme ohne Nachkommastellen
    Antwort #12 am: 14. November 2011, 15:55:05
    Der Umlaut dürfte dann nicht korrekt angezeigt werden.

    Grüße

    Torsten

    coma

    • Frisch an Board
    • Beiträge: 70
    Re: Bestellsumme ohne Nachkommastellen
    Antwort #13 am: 14. November 2011, 17:13:56
    Bin nur kein PHP Spezialist, aber nicht doof. ;-)

    Wo macht das denn dann genau Probleme?

    Gruß, Ralf.

    Matt

    • Experte
    • Beiträge: 4.241
    Re: Bestellsumme ohne Nachkommastellen
    Antwort #14 am: 14. November 2011, 19:46:17
    [...]
    Wo macht das denn dann genau Probleme?
    [...]

    Die Einstellung LC_Time wird u. A. dafür benutzt, wie mit strftime() und Konsorten generierte String aus Zeitstempeln ausgegeben werden. Wenn du also de_DE.UTF-8 benutzt, dann werden Strings mit dieser Kodierung ausgegeben.

    modified eCommerce Shopsoftware benutzt noch ISO-8859-1(5) als Kodierung. Bei Umlauten kommt es folglich zu Problemen, aus März wird dann März.
    14 Antworten
    9127 Aufrufe
    09. Dezember 2015, 19:29:07 von Pixelgreen
    6 Antworten
    3495 Aufrufe
    21. Mai 2015, 09:55:46 von deekay99
    0 Antworten
    1266 Aufrufe
    29. März 2016, 13:28:02 von Viol