Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware
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: UVP Preis runden auf eine Kommastelle

    JRM

    • Neu im Forum
    • Beiträge: 24
    UVP Preis runden auf eine Kommastelle
    am: 27. Mai 2011, 14:46:33
    Hallo Forum!

    Nach langer und leider erfolgloser Suche und Bastelei muss ich leider hier nachfragen, ob mir jemand behilflich sein kann.
    Es geht um die UVP-Preis Anzeige, die über dem Netto-Preis eingeblendet wird, wenn man sich als Händler einloggt. Wenn man Händlerpreise auf Netto gestellt hat, wird auch der UVP-Preis darüber als Nettopreis gezeigt. Diesen Preis wollte ich aber lieber Brutto anzeigen lassen, was auch kein großes Problem war, da man dafür in der /includes/classes/xtcPrice.php nur ca. Zeile 453 ändern musste von

    Code: PHP  [Auswählen]
    $price = '<span class="productOldPrice">'.MSRP.' '.$this->xtcFormat($pPrice, $format).'</span><br />'.YOUR_PRICE.$this->checkAttributes($pID).$this->xtcFormat($sPrice, $format);
    in

    Code: PHP  [Auswählen]
    $price = '<span class="productOldPrice">'.MSRP.' '.$this->xtcFormat($pPrice * 1.19, $format).'</span><br />'.YOUR_PRICE.$this->checkAttributes($pID).$this->xtcFormat($sPrice, $format);
    Also hinter $pPrice einfach ein * 1,19 setzen.

    Das Problem ist jetzt leider, das die Preise zwar korrekt gerundet werden, aber dennoch "falsche" zweite Nachkommastellen entstehen. Ein Beispiel:
    Nettopreis: 23,45€ * 1.19 = 27,9055€ Brutto, was in der UVP-Preisanzeige dann als 27,91€ ausgegeben wird, soll aber 27,90€ sein. Oder 121,76€ Netto * 1,19 = 144,8944 Brutto = 144,89€ in der UVP-Preisanzeige, soll aber 144,90€ sein.

    Nun hab ich bereits einen Codeschnipsel gefunden, der eine Lösung sein könnte. Dieser entfernt einfach die letzte Kommastelle und macht eine Null draus. Das wäre perfekt, wenn ich wüsste wo ich den Code einbauen sollte, dass es wirklich NUR den UVP-Preis betrifft. Hab dafür leider zuwenig PHP-Kenntnisse. Der Code ist dieser:

    Code: PHP  [Auswählen]
    $price =  floor($price * 10) / 10;
    Meine Frage ist also: Wohin damit und wie abändern, damit nur die UVP-Preisanzeige "gefloored" wird.
    Ich hab damit schon in der selben Zeile der xtcPrice.php rumgebastelt, in der ich auch die * 1,19 eingetragen habe und hab auch das Gefühl, dass ich kurz vor der Lösung stehe, klappen will es trotzdem nicht.

    Wenn mir da also jemand behilflich sein könnte, wäre ich demjenigen sehr dankbar.



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

    h-h-h

    • modified Team
    • Beiträge: 4.562
    UVP Preis runden auf eine Kommastelle
    Antwort #1 am: 27. Mai 2011, 23:38:39
    Hallo JRM,
    so wie ich es jetzt verstanden habe möchtest Du aufrunden(ceil) und abrunden(floor) somit sollte round() die richtige Funktion für Dich sein.

    /includes/classes/xtcPrice.php:

    Suche dies hier (2x):

    Code: PHP  [Auswählen]
    return $this->xtcFormatSpecialGraduated($pID, $this->xtcAddTax($sPrice, $products_tax), $pPrice, $format, $vpeStatus, $pID);
    und ersetze es mit:

    Code: PHP  [Auswählen]
    return $this->xtcFormatSpecialGraduated($pID, $this->xtcAddTax($sPrice, $products_tax), $pPrice, 0, $vpeStatus, $pID);
    Gruß

    h-h-h

    JRM

    • Neu im Forum
    • Beiträge: 24
    UVP Preis runden auf eine Kommastelle
    Antwort #2 am: 28. Mai 2011, 15:30:43
    Danke für deine Antwort h-h-h, aber wenn ich das mache, verschwinden die Preise komplett.

    Ich will nicht zwangsweise auf- und abrunden, sondern einfach nur, dass die zweite Kommastelle immer eine Null ist (nur bei der UVP-Preis Anzeige! - das kann geschehen wie es will). Wenn man die Funktion "floor" benutzt, wird nicht mehr korrekt gerundet, sondern einfach auf 0 gesetzt, aus 23,97€ wird zum Beispiel 23,90€. Nur weiß ich nicht genau, wie man die wo einbaut wie gesagt.

    Wenn man allerdings durch korrektes Runden auf eine Stelle hinter dem Komma kommt und als zweite Stelle immer eine Null angezeigt wird, ist das auch ok.
    Allerdings rundet der Shop ja eigentlich schon korrekt, und das ist halt das Problem bei der UVP Anzeige, wie oben beschrieben ;) - denn dann kommen so Sachen wie XX,91 und XX,89 raus, eben weil korrekt gerundet wird.

    h-h-h

    • modified Team
    • Beiträge: 4.562
    UVP Preis runden auf eine Kommastelle
    Antwort #3 am: 28. Mai 2011, 17:19:26
    Die oben von Dir genannte Stelle passe mal wie folgt an:

    Suche:

    Code: PHP  [Auswählen]
    $price = '<span class="productOldPrice">'.MSRP.' '.$this->xtcFormat($pPrice, $format).'</span><br />'.YOUR_PRICE.$this->checkAttributes($pID).$this->xtcFormat($sPrice, $format);
    ersetze mit:

    Code: PHP  [Auswählen]
    $price = '<span class="productOldPrice">'.MSRP.' '.$this->xtcFormat(round($pPrice*1.19, 1), $format).'</span><br />'.YOUR_PRICE.$this->checkAttributes($pID).$this->xtcFormat($sPrice, $format);
     
    Gruß

    h-h-h

    JRM

    • Neu im Forum
    • Beiträge: 24
    UVP Preis runden auf eine Kommastelle
    Antwort #4 am: 29. Mai 2011, 19:33:28
    Jau, das klappt! Perfekt! Vielen Dank!

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    UVP Preis runden auf eine Kommastelle
    Antwort #5 am: 29. Mai 2011, 19:43:45
    Für welchen Shop ist das eigentlich? Dein Shop ist ein eComBase Shop, dafür gibt es hier im Forum keinen Support.

    Grüße

    Torsten

    JRM

    • Neu im Forum
    • Beiträge: 24
    UVP Preis runden auf eine Kommastelle
    Antwort #6 am: 30. Mai 2011, 00:53:14
    Ist nicht für den Shop. Ist für einen neuen Shop, der auf modified eCommerce Shopsoftware basiert. Hab mal die Profildaten aktualisiert. :)

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    UVP Preis runden auf eine Kommastelle
    Antwort #7 am: 30. Mai 2011, 07:07:33
    Alles klar, das sieht nun wahrlich nach einem modified eCommerce Shopsoftware Shop aus. ;-)

    Grüße

    Torsten

    6 Antworten
    4934 Aufrufe
    07. Januar 2011, 00:15:37 von Tomcraft
    0 Antworten
    2449 Aufrufe
    29. Oktober 2014, 14:09:31 von dmun