Magento 1.8 - Payment lädt im One-Page-Checkout nicht

Nachdem die ersten Magento-Instanzen auf 1.8 umgestellt wurden und man die ersten Kontakte mit der neuen Version hatte, stellt man früher oder später fest, dass der One-Page-Checkout den Payment-/Zahlart-Step nicht mehr lädt. Mit ein wenig Debugging kommt man auch nicht so viel weiter. Nichts im Exception-Log, der Ajax-Response sieht auch sauber aus und die Browser-Konsole schmeißt auch keine Fehlermeldungen.

Grund dafür ist eine Änderung im folgenden Template, welche dafür sorgt dass das JavaScript ein Element nicht mehr finden kann und so der Step nicht gewechselt wird.

app/design/frontend/base/default/template/checkout/onepage/payment.phtml

Falls das Template bereits durch Euer Custom-Theme überschrieben wurde, habt ihr Glück dass der Checkout weiterhin problemlos funktioniert. Andernfalls kopieren wir dieses Template in unser Theme und schauen uns Zeile 36 an:

<form action="" id="co-payment-form">
 <fieldset>
 <?php echo $this->getChildHtml('methods') ?>
 </fieldset>
</form>

Wir stellen fest, dass das Fieldset keine id besitzt, also kann dieses vom JavaScript auch nicht gefunden werden. Was wir nun brauchen, ist folgende Änderung:

<form action="" id="co-payment-form">
 <fieldset id="checkout-payment-method-load">
 <?php echo $this->getChildHtml('methods') ?>
 </fieldset>
</form>

Nun sollte der Checkout wieder wie gewohnt funktionieren. Mir kommt es jedenfalls so vor, als ob dieser nie getestet wurde - andernfalls wäre der Fehler definitiv aufgefallen.



Ein Beitrag von Matthias Kleine
Matthias's avatar

Matthias Kleine hatte Mitte 2012 die ersten Kontakte mit Magento - dies geschah durch die Anstellung bei der code-x GmbH als Softwareentwickler. Seit dem bildet er sich ständig im Bereich eCommerce fort, schreibt eigene Extensions und stellt diese gerne auch als OpenSource-Projekte auf GitHub zur Verfügung. Seit Ende 2013 wird Matthias auch im Verzeichnis der zertifizierten Magento-Entwickler gelistet. @klein0r

Alle Beiträge von Matthias

Kommentare
Jan am

Hat geklappt, jetzt wird der Amazon Payments Button allerdings nicht mehr angezeigt...

Marco am

thumbsup für diese Lösung!

Mac am

toll, ich hab mir auch nen Wolf gesucht, was da klebt. Danke !

Bert am

Hi Matthias,

das hat super funktioniert. Die Änderung für dazu, daß die Zahlungsmethode jetzt ausgewählt werden kann. Jetzt erscheint leider der Button jetzt kaufen nicht mehr. Hast Du dafür auch einen Tip?

Danke im voraus Bert

PS.: Version 1.9.1

Daniel am

Kurzer Nachtrag: Die Datei habe ich gefunden und befindet sich in

/html/magento/app/design/frontend/base/default/template/checkout/onepage

aber was drin steht das passt. Weiß evtl. jemand woran es liegen kann? Danke und Gruß

Daniel am

Hi Leute, hab gerade das selbe Problem wie Flo zwei Beiträge über mir. Nach der Weiterleitung von Paypal auf meinen Shop und klicken auf "Jetzt Kaufen", passiert nichts. Ich wollte mir dazu mal :

app/design/frontend/base/default/template/checkout/onepage/payment.phtml

ansehen.

die payment.phtml Datei existiert jedoch nicht in meinem Ordner "onepage" nur die Datei shipping.phtml.

Weiß jemand Rat?

Vielen Dank im voraus

Matthias Kleine am

Hi Flo,

wenn Du es bis auf die Sichtkontrolle schaffst, und dort auf "Jetzt Bestellen" klickst, und nichts passiert, sollte es nicht an dem Theme liegen. Wahrscheinlich kommt es dort zu einer Exception. Am besten Mal die Logs aktivieren und dann gucken was so passiert. Das wird aber ein anderes Problem sein, als hier beschrieben.

Flo am

Hi,

habe genau das gleiche Problem und auch ein Theme von Themeforest (EMThemes) wie von Rockenberg beschrieben:

"Jetzt komme ich bis zum letzten Schritt 6. Bestellübersicht. Aber wenn ich dann auf Jetzt Kaufen klicke geht es nicht weiter."

Gibt es hierzu schon eine Lösung oder kann mir jemand weiterhelfen? Komme nicht weiter.

Danke.

LG

Hans am

Seit dem Update auf 1.8 funktionierte das nicht mehr. Die Kunden sind frustriert gewesen und haben mich mit Emails darauf aufmerksam gemacht. Ich konnte das Problem leider nicht beheben.

Jetzt geht wieder alles - DANKE für diese Lösung!

Grüße aus AUSTRIA

Alex Senger am

Klasse! Danke für die Lösung des Problems.

Martin am

Perfekt! Ich habe ein 1.8er sauber installiert und Magento zuvor noch nie zu Gesicht bekommen, die Lösung ist prima, ich danke vielmals! Jetzt läuft es.

André am

Hat geholfen, thanks. 1 Stunde debugging... hätte ich mal eher danach bei Google gesucht.

Gleb Stoll am

Hallo Matthias,

verstehe nicht warum es auftritt, nur bei eine Installation 1.8 bei mir aufgetreten, andere haben solches Problem nicht. Dein Hinweis hat mir super geholfen.

Grüß Gleb.

Rockenberg am

Hallo Matthias, danke für deine schnelle Antwort und für deine Tips. Habe jetzt raus bekommen das es an meinem Template von Theme Forest liegt. Habe die auch schon angeschrieben hoffe ich bekomme da noch eine Antwort und Hilfe. Ich bin kein php Experte aber dein Code hat mich ein Stück weiter gebracht. Nur der Abschluss klappt noch nicht. Ich dachte das hat nix mit dem Template zu tun hat. Hast du vielleicht noch eine Idee. Danke schon mal im voraus Matthias.

Gruß Rockenberg

Matthias Kleine am

Hallo Rockenberg,

leider ist es sehr schwer eine Ferndiagnose zu stellen. Dass der Checkout nicht abgeschlossen werden kann, kann viele Ursachen haben - so können beispielsweise Extensions installiert sein, welche Probleme verursachen.

Der Einfachheit halber würde ich einfach mal nach und nach ein paar Extensions deaktivieren, um zu schauen wo das Problem liegt. Mit der Standard-Version von Magento 1.8 hatte ich bisher keine weiteren Probleme im Checkout.

Gruß Matthias

Rockenberg am

Hallo Matthias,

danke für deine Hilfe. Ich bin jetzt einen Schritt weiter. Ich kam immer nur bis 4. Versandart. Jetzt komme ich bis zum letzten Schritt 6. Bestellübersicht. Aber wenn ich dann auf Jetzt Kaufen klicke geht es nicht weiter.

Wäre super wenn du mir weiter Helfen könntest. LG Rockenberg

Bikersbean am

Danke für den Hinweis. Habe ich gleich mal abgespeichert. Bin nämlich gerade dabei unseren Shop umzustellen.

Nudge am

Ja, das sollte man vielleicht vor seinen Besuchern feststellen. ;-)

Dein Kommentar