Shop Hosting
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: Drei Stellen hinter Komma nicht beachtet

    Alphagen

    • Neu im Forum
    • Beiträge: 23
    Drei Stellen hinter Komma nicht beachtet
    am: 20. Juli 2011, 08:55:26
    Hallo liebe Community,

    ich teste momentan lokal ein paar Shopsysteme um mir dann von diesen Shopsystemen eins auszusuchen das ich dann für meinen Shop verwenden möchte. Bis jetzt gefällt mir modified eCommerce Shopsoftware von der Installation und von der Bedienung her sehr gut und meine Entscheidung war EIGENTLICH schon getroffen. In letzter Sekunde ist mir aber noch etwas aufgefallen, bei dem ich alleine nicht weiter weiß. Hier kommt (hoffentlich) die Community ins Spiel.  ;)

    Ich verkaufe Artikel in meinem Shop unter anderem in Dosen, als Stück und (jetzt kommt's) in Gramm.

    Ich habe also momentan einen Artikel, dessen Nettopreis für ein Kilogramm 77.00 € beträgt.
    Der Preis für einen Artikel (den ich in Gramm verkaufe) beträgt also 0,077 €. Das wird im Shop als 0,08 € angezeigt. Das ist akzeptabel. ABER wenn ich jetzt bei VPE "Kilogramm" auswähle und die VPE-Einheit auf 0.0010 setze, beträgt der Artikelgrundpreis nicht 77.00 € sonder 80.00€!

    Auf Datenbankebene ist die Spalte "products_price" mit decimal(15,4) angelegt und der Preis steht auch mit 0.077 € drin. Aber der Grundpreis wird anscheinen basierend auf dem im Shop angezeigten, gerundeten Artikelpreis berechnet. Dies ist auch im Warenkorb der Fall. Sprich, ich bestelle 100g von diesem Artikel und das ganze kostet mich 8.00 € statt 7.70 €

    Kann ich das irgendwo in den Einstellungen ändern oder muss ich dafür den Quellcode modifizieren? Egal wie die Antwort ist, wo muss ich suchen? *lacht*

    Ich bedanke mich recht herzlich im Voraus für die Zeit die ihr für mich aufbringt (und wenn's nur für das Lesen des Beitrags ist).

    LG Alphagen



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

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.267
    • Geschlecht:
    Drei Stellen hinter Komma nicht beachtet
    Antwort #1 am: 20. Juli 2011, 09:39:02
    Ich verschiebe das mal bis zur Klärung nach "Bugs oder Funktionsfehler".

    Grüße

    Torsten

    web28

    • modified Team
    • Beiträge: 9.404
    Drei Stellen hinter Komma nicht beachtet
    Antwort #2 am: 20. Juli 2011, 09:49:05
    Ich kann mir nicht vorstellen, dass man bei Dir für 7c etwas bestellen kann.

    Dein Problem lässt sich vernünftig nur über Mengeneinheiten lösen, die Mindesteinheit wäre in Deinem Fall 10g = 0.77 EUR, kleiner geht nicht.

    Gruss Web28

    Alphagen

    • Neu im Forum
    • Beiträge: 23
    Drei Stellen hinter Komma nicht beachtet
    Antwort #3 am: 20. Juli 2011, 10:10:50
    Ok... Mehr Informationen... *lacht*
    In meinem Shop hat ein Artikel einen Mindestebellmenge. (z.B. 20g) Ab dieser Bestellmenge kann er jedoch in Gramm gestaffelt bestellen. Bedeutet: er kann nicht nur 20g, 40, 60g oder 80g bestellen sondern er kann auch 22g, 35g, 71g usw bestellen. Wenn er also 22g bestellt, müsste die Rechnung, die er erhält (für diesen Artikel ohne Versandkosten) 1.69 € betragen und nicht, wie angezeigt wird, 1.76 €.
    Desweiteren besteht das Problem, dass immer noch der Artikelgrundpreis auf Basis von dem gerundeten "Grammpreis" berechnet wird. Also statt "pro Kilo = 77.00 €" steht da "pro Kilo 80.00 €".

    Außerdem kann ein Artikel ja auch 76.50 € pro Kilo kosten. Dann müsste ich bei dem Grammpreis auch mit 0.0765 € rechnen, was ja, rein vom logischen her, mit modified eCommerce Shopsoftware möglich sein müsste, da die Datenbankspalte "products_price" in der Tabelle "products" als Standardwert Datentyp "decimal(15,4)" angegeben hat. Also 15 Vorkommastellen und 4 Nachkommastellen.

    Hier hilft auch eine Mindesteinheit von 10g nicht weiter, da trotzdem eine Nachkommastelle verloren gehen würde.

    Alphagen

    • Neu im Forum
    • Beiträge: 23
    Drei Stellen hinter Komma nicht beachtet
    Antwort #4 am: 20. Juli 2011, 11:24:03
    Sooo... Also ich bin ein Stück weiter gekommen...

    In einem XTC - forum habe ich nach langem Suchen einen Eintrag gefunden, wie man Preise auch Vierstellig anzeigen kann.

    Beschreibung für modified eCommerce Shopsoftware:

    "/includes/classes/xtcPrice.php"

    Zeile suchen Ohne Anführungszeichen:

    Code: PHP  [Auswählen]
    Pprice = number_format(floatval($price), $this->currencies[$this->actualCurr]['decimal_places'], $this->currencies[$this->actualCurr]['decimal_point'], ...
     
    [Die Zeile geht hier noch weiter]

    In der Zeile

    Code: PHP  [Auswählen]
    $this->currencies[$this->actualCurr]['decimal_places']
     
    durch "4" ersetzen. Jetzt wird der Preis mit vier Dezimalstellen angezeigt.

    So weit so gut. In der Datenbank steht der Produktpreis auch mit "0.0770" drin. ABER: Er wird weiterhin als "0.0800" im Shop angezeigt.

    Wo wird der Preis gerundet?
    Wer möchte helfen? *lacht*

    EDIT:

    Ich habe in der oben genannten Datei einfach mal alle weiteren

    Code: PHP  [Auswählen]
    $this->currencies[$this->actualCurr]['decimal_places']
     
    durch eine "4" ersetzt. funktioniert jetzt auch wunderbar. Natürlich werde ich das nicht so lassen sondern gucken welche Zeile ich hier wirklich ändern muss und welche nicht.

    Sobald ich mehr weiß, gebe ich euch Bescheid und schreibe dann eine kleine Zusammenfassung, für den Fall, dass das auch jemand ändern möchte.

    LG Alphagen

    web28

    • modified Team
    • Beiträge: 9.404
    Drei Stellen hinter Komma nicht beachtet
    Antwort #5 am: 20. Juli 2011, 13:06:04
    Die Dezimalstellen kann man im Admin bei jeder Währung individuell einstellen.

    Alphagen

    • Neu im Forum
    • Beiträge: 23
    Drei Stellen hinter Komma nicht beachtet
    Antwort #6 am: 20. Juli 2011, 13:42:15
    Danke. Das wars. Jetzt komm ich mir bisschen doof vor. *lacht*

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.267
    • Geschlecht:
    Drei Stellen hinter Komma nicht beachtet
    Antwort #7 am: 20. Juli 2011, 19:01:44
    Ich setze das Thema dann mal auf "behoben". :hust: :whistle:

    Grüße

    Torsten

    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware