Fooman Surcharge und PHP 7

In Magento sorgt die Surcharge Extension dafür, dass man einfach und komfortabel Zuschläge für verschiedene Bereiche des Online-Shops erheben kann, ohne dafür die in Magento implementierten Preisregeln aufbohren zu müssen, um negative Rabatte zu ermöglichen. So beispielsweise auch für die Zahlarten als Zahlartenaufschlag für Nachnahmezahlung, Paypal und Co.. Mit PHP7 verändert sich jedoch die Darstellung im Checkout - hier wird statt den jeweiligen individuellen Zahlartenaufschlägen schlicht und einfach "1" (+ Währung) angezeigt.

 

 

Sucht man im system.log wird man auch tatsächlich schnell fündig:

 

Notice: Object of class Fooman_Surcharge_Model_Surcharge could not be converted to int in app/code/community/Fooman/Surcharge/Model/Observer.php on line 263

 

und

 

Notice: Object of class Fooman_Surcharge_Model_Surcharge could not be converted to int in app/code/community/Fooman/Surcharge/Model/Observer.php on line 264

 

Die Schuldige ist hier also die Datei \app\code\community\Fooman\Surcharge\Model\Observer.php, in der zwei Zeilen zu einem Fehler führen.

 

Ersetzt man in der Funktion _calcSurchargePreview($quote, $methodCode) nun die Zeilen

 

$surcharge->setBaseAmount($surcharge->setBaseAmount() + $surcharge->getBaseTaxAmount());
$surcharge->setAmount($surcharge->setAmount() + $surcharge->getTaxAmount());

 

mit

 

$surcharge->setBaseAmount($surcharge->getBaseAmount() + $surcharge->getBaseTaxAmount());
$surcharge->setAmount($surcharge->getAmount() + $surcharge->getTaxAmount());

 

,ist der Fehler behoben und die Aufschläge werden fehlerfrei angezeigt. Getestet in Magento CE 1.9.1.0.

AUSGEZEICHNET

Ein von uns entwickeltes Webportal wurde mit dem Humboldt-Preis für Nachhaltigkeit ausgezeichnet.

PROJEKT

Nachhaltige Sportveranstaltungen in Deutschland

AUSZEICHNUNG

Wissenschaftliche Auszeichnung
in Kooperation mit der Deutschen Sporthochschule Köln

Projekt Webportal Mockup