Wir hatten gerade den Fall, dass man in der Kasse / im Checkout von Magento nur bis Schritt 4 “Zahlungsmethode” bzw. “Zahlungsart” kam und dann immer nur “Loading next step” auftauchte wenn man auf Weiter klickte. Man blieb jedoch immer im Schritt 4 hängen.
Seit SUPEE 9767 gibt es ja die Formkey Validation (die man im Backend unter System > Konfiguration > Erweitert / Admin / Sicherheit – Enable Form Key Validation On Checkout de-/aktivieren kann).
Aus Sicherheitsgründen macht es wohl Sinn diese Funktion zu verwenden – das eigene Template muss es aber auch tun. Daher steht unter der Funktion auch “Important! Enabling this option means that your custom templates used in checkout process contain form_key output. Otherwise checkout may not work.”.
Man muss also sicherstellen, dass folgende Zeile in den vom Template geladenen Kassen-Dateien liegt:
<?php echo $this->getBlockHtml('formkey') ?>
Am besten immer vor dem schließenden
</form>
Einige der zu berücksichtigenden Dateien sind
- app/design/frontend/[Eigenes Theme]/[Eigenes Theme]/template/persistent/checkout/onepage/billing.phtml
- app/design/frontend/[Eigenes Theme]/[Eigenes Theme]/template/checkout/onepage/shipping.phtml
- app/design/frontend/[Eigenes Theme]/[Eigenes Theme]/template/checkout/onepage/shipping-method.phtml
- app/design/frontend/[Eigenes Theme]/[Eigenes Theme]/template/checkout/onepage/payment.phtml
Dies kann in einzelnen Fällen (wovon wir gerade einen hatten) aber weiterhin zu Problemen führen. Wir kamen nämlich trotz des eingefügten Codes bei Schritt 4 “Zahlungsart” nicht weiter.
Die Lösung lag darin, dass wir für unser Theme noch eine eigene opcheckout.js im Ordner skin/frontend/[Eigenes Theme]/[Eigenes Theme]/js verwendeten. Hier muss der Key ebenso angesprochen werden. Dazu sucht man in der eigenen JS-Datei nach
if (elements[i].name=='payment[method]') {
und ersetzt dies durch
if (elements[i].name=='payment[method]' || elements[i].name == 'form_key') {
Nun funktionierte der Kassenbereich bis zum Ende problemlos.
Genutzt in Magento Version 1.9 Kommentare? Ergänzungen? Hinweise? Gerne!