Onepage Checkout in 1.8 kaputt?


12

Unsere Kasse scheint kaputt zu sein und mehr Leute scheinen das Problem mit Magento 1.8 zu haben. Es macht einfach nichts, nachdem Sie in Schritt 4 den Weiter-Knopf gedrückt haben. Wir führen PHP 5.4.19 aus und haben es in Chrom 28, Firefox 22, Safari 5.1 ausprobiert.

Es gibt keine Fehler in den Protokollen und es ist das gleiche im Standarddesign.

Antworten:


15

Wir haben die Lösung hier gefunden: http://www.magentocommerce.com/boards/viewthread/441003/#t460203

Gehe zu / app / design / frontend / base / default / template / checkout / onepage / file payment.phtml öffne es, Zeile 36

<fieldset>
    <?php echo $this->getChildHtml('methods') ?>
</fieldset>

ID zum Feldset hinzufügen

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

Danke an hungtk2707!


2
Wenn Sie keine Codeänderungen vorgenommen haben und Ihre Module von Drittanbietern auf dem neuesten Stand sind, sind die meisten Aktualisierungsprobleme auf Vorlagen und Layouts zurückzuführen, die für frühere Versionen entwickelt wurden. Oft müssen die Vorlagen in dem fehlerhaften Bereich durchgearbeitet und auf Codeunterschiede zwischen dem Inhalt Ihrer Vorlage und dem Inhalt der neu installierten Basisvorlage überprüft werden. In Layouts wird häufig nach einem verschobenen Block, einem neuen Block, der hinzugefügt werden muss, oder ähnlichem gesucht. Wie Ihr Beitrag zeigt, haben sie dem Feldsatz eine ID hinzugefügt, die das Javascript benötigt, um zum nächsten Schritt überzugehen.
Fiasco Labs

2
Ich hatte gerade eine saubere Version von Magento 1.8.1 installiert, und dies scheint ein Fehler im Code zu sein. Es sollte in der Basis-PHP-Datei enthalten sein.
Masu

1
Sie retten mein Leben + 1
Ram Sharma

5

Ich hatte auch das Checkout-Problem und habe die Lösung gefunden:

In /template/checkout/onepage/review/info.phtml (am Ende)

ersetzen

review = new Review('<?php echo $this->getUrl('checkout/onepage/saveOrder') ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements'));

durch

review = new Review('<?php echo $this->getUrl('checkout/onepage/saveOrder', array('form_key' => Mage::getSingleton('core/session')->getFormKey())) ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements'));

Es sollte Ihr Checkout-Problem beheben.


1
Es sieht so aus, als wäre Ihr Codebeispiel unvollständig. Bitte bearbeiten Sie die Datei, um die korrekte Formatierung für die Abschrift zu gewährleisten.
benmarks

Dies löste mein Problem, bei dem ich nach dem Drücken von "Bestätigen" eine 302 zurückerhielt und das Formular nicht abschickte.
woot586

2

Wenn Sie Ihr Magento (auf 1.9.1) aktualisieren und die Checkout-Vorlage angepasst wird, wird auch die XML-Datei geändert.

Der Look dafür:

<block type="checkout/onepage_payment" name="checkout.onepage.payment" as="payment" template="checkout/onepage/payment.phtml">
     <block type="checkout/onepage_payment_methods" name="checkout.payment.methods" as="methods" template="checkout/onepage/payment/methods.phtml">
          <action method="setMethodFormTemplate"><method>purchaseorder</method><template>payment/form/purchaseorder.phtml</template></action>
     </block>
</block>

Das Problem ist die checkout / onepage / payment / methods.phtml, diese Daten sollten über eine Ajax-Anfrage geladen werden. Ersetzen Sie dies durch checkout / onepage / payment / info.phtml.

<block type="checkout/onepage_payment" name="checkout.onepage.payment" as="payment" template="checkout/onepage/payment.phtml">
     <block type="checkout/onepage_payment_methods" name="checkout.payment.methods" as="methods" template="checkout/onepage/payment/info.phtml">
          <action method="setMethodFormTemplate"><method>purchaseorder</method><template>payment/form/purchaseorder.phtml</template></action>
     </block>
</block>

1

Wenn Ihre Vorlage keine Bewertung hat = fügen Sie am Ende von info.phtml einfach hinzu

</script>
<script type="text/javascript">
//<![CDATA[
    review = new Review('<?php echo $this->getUrl('checkout/onepage/saveOrder',       array('form_key' => Mage::getSingleton('core/session')->getFormKey())) ?>', '<?php echo $this-  >getUrl('checkout/onepage/success') ?>', $('checkout-agreements'));
//]]>
</script>

am Ende dieser Datei, zB ./app/design/frontend/blank/default/template/checkout/onepage/review/info.phtml


1

Ich hatte das gleiche Problem mit rwd (iphone) storeview und löste das erste Problem mit

Aber später hatte ich immer noch ein Problem (Fortfahren-Button funktioniert nicht). Die Lösung bestand darin, info.phtml aus / app / design / frontend / default / iphone / template / checkout / onepage / review zu sammeln

Ich habe aus einer alten Arbeitsversion genommen.

Die seltsame Tatsache ist, dass in der Desktop-Ansicht alles gut funktioniert hat.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.