Lorem Ipsum

Rundungsfehler in Magento beheben

In Magento (1.4 oder älter), das als mächtiges Online-Shop-System bekannt ist, kann in verschiedenen Fällen ein unangenehmer Rundungsfehler aufscheinen, der sich aber leicht beheben lässt:

Anmerkung: Um den Core unberührt zu lassen, empfiehlt es sich, die geänderten Files in der gleichen Struktur in Ordner Local abzuspeichern.

Die beiden Änderungen bewirken eine genauere Rundung von Zahlen. Bei der bisherigen Rundung kann es bei der Aufsummierung von Zahlen zu einem Ungenauigkeitsfehler kommen, da sich die Rundung auf zwei Nachkommastellen beschränkt.
Mit den Änderungen rundet Magento auf vier Stellen genau – Dadurch werden obige Fehler vermieden.

Folgende Änderungen sind durchzuführen:

Erstellen Sie Duplikat der Datei:
/app/code/core/Mage/Core/Model/Store.php
und fügen Sie das Duplikat in folgendem Pfad ein:
/app/code/local/Mage/Core/Model/Store.php

Die Änderung betrifft die Zeile 715 der Datei:

[ccie_PHP]
public function roundPrice($price)
{
return round($price, 4);
}
[/ccie_PHP]

Erstellen Sie Duplikat der Datei:
/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Helper/Form/Price.php
und fügen Sie das Duplikat in folgendem Pfad ein:
/app/code/local/Mage/Adminhtml/Block/Catalog/Product/Helper/Form/Price.php

Die Änderungen beginnen bei Zeile: 78

[ccie_PHP]public function getEscapedValue($index=null)
{
$value = $this->getValue();
if (!is_numeric($value))
{
return null;
}
return number_format($value, 4, null, “);
}[/ccie_PHP]

Beachten Sie, dass Sie niemals ein File bearbeiten sollten dass direkt in der Core-Struktur von Magento liegt. Die Core Files werden bei jedem Update von Magento überschrieben, sodass Änderungen nicht persistent sind.

Weiters sollten Sie speziell bei Systemen wie Magentocommerce eine genaue Dokumentation über geänderte / angelegte Files führen, um den Überblick zu behalten. Bei Magento – Versionssprüngen wie etwa von 1.3 auf 1.4 sind derartige Dokumentationen ein relevanter Zeitfaktor.

    Anfrage

    Wir freuen uns auf Ihre Herausforderung.

    0316 22 88 42

    8:00 - 16:30





    Ich stimme der Verarbeitung meiner Daten im Sinne der Datenschutzerklärung zu.