Bug in Magento 1.6: Undefined method Mage_Sales_Model_Abstract::getshippingmethod()
Heute wurde ich auf einen bösen Bug in Magento 1.6 aufmerksam, der sich glücklicherweise mit wenigen Handgriffen fixen lässt.
Das Problem: Beim Editieren oder Senden einer Bestellung erscheint der Fehler:
Fatal error: Call to undefined method Mage_Sales_Model_Abstract::getshippingmethod() in <Pfad>/app/code/core/Mage/Sales/Model/Order.php on line 1213
Der Grund ist, dass in der Methode getShippingMethod() im Order-Model getShippingMethod() der Parent-Klasse aufgerufen wird, die nicht existiert:
Zeile: 1213 in /app/code/core/Mage/Sales/Model/Order.php:
- $shippingMethod = parent::getShippingMethod();
Um das Problem zu beheben, sollte die Zeile durch diese Zeile ersetzt werden:
- $shippingMethod = $this->getData('shipping_method');
Der Fehler wurde im neuen Alpha-Release 1.7.0.0-alpha1 noch nicht gefixt (, was mich sehr wundert). Daher sollte man überlegen, den Fehler in einem eigenen Modul zu korrigieren, indem man das Order-Model überschreibt.