Nebenwirkung von dezimal auf 4 stellig für Preisberechung. Payment Free Problem.

Es gibt Grund, dass man unter Magento die Preisberechung von 2 Stellig auf 4 stellig umstellt. Nur finden wir auch Nebenwirkungen. Eins ist das Payment Free Problem.

Man kann die Zahlungsart für die Verwendung vom Rabattcode (Endpreis 0 ) aktivieren, so dass man die s.g. Zahlung mit Gutschein wählen kann.

Eine Kondition für die Zahlart ist, dass Summe 0 ist.

Wenn man aber früher dezimal auf 4 stellig umstellt, wird bei Summe 0 auch ab und zu 0.0001 vorkommen. Um das Problem zu lösen, passen wir die Funktion isAvailable unter  /code/core/Mage/Payment/Model/Method/Free.php an.

return parent::isAvailable($quote) && !empty($quote)
&& Mage::app()->getStore()->roundPrice($quote->getGrandTotal()) == 0;
zu

return parent::isAvailable($quote) && !empty($quote)
&& Mage::app()->getStore()->roundPrice($quote->getGrandTotal()) < 0.01;

Dann sollte funktionieren. Am besten copy die Datei unter local und bearbeiten.

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *


9 − = five

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>