12

Our checkout seems to be broken and more people seem to have the problem with magento 1.8. It simply doesn't do anything after you press the continue button in step 4. We run PHP 5.4.19 and have tried it in chromium v28, firefox v22, safari v5.1.

There are no errors in the logs and it's the same in the default theme.

5 Answers 5

15

Found the solution here: http://www.magentocommerce.com/boards/viewthread/441003/#t460203

Go to /app/design/frontend/base/default/template/checkout/onepage/ file payment.phtml open it, line 36

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

add id to fieldset

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

Thanks to hungtk2707!

3
  • 2
    If you haven't done any code modifications and your third party modules are up to snuff, most of the upgrade issues come from templates and layouts that were developed for previous versions. It's often a case of working through the templates in the area that fails and checking for code differences between what's in your template and what's in the newly installed base template. In layouts, often it's looking for a moved block, new block that needs to be added or similar. As your post shows, they added an id to the field set that the javascript needs for reference to move to the next step. Oct 5, 2013 at 1:43
  • 2
    i had just installed a clean version of magento 1.8.1, and this seems to be an error in the code. It should be included in the base phtml file.
    – Masu
    Jun 5, 2014 at 18:48
  • 1
    you save my life + 1
    – Ram Sharma
    Nov 25, 2014 at 10:27
5

I had also the checkout issue and I have found the solution:

In /template/checkout/onepage/review/info.phtml (at the end)

replace

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

by

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'));

It should resolve your checkout issue.

2
  • 1
    It looks as though your code sample is incomplete. Please edit to include proper Markdown formatting.
    – benmarks
    Nov 30, 2013 at 15:52
  • This resolved my issue where upon hitting confirm I would get a 302 back and the form would not submit.
    – woot586
    Aug 6, 2014 at 19:00
2

If you upgrade your Magento (to 1.9.1) and the checkout template is customized and also the xml is changed.

The look for this:

<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>

The problem is the checkout/onepage/payment/methods.phtml, this data should be loaded through an ajax request. Replace this with checkout/onepage/payment/info.phtml, so like this:

<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

if you template does not have review = at the bottom of info.phtml just add

</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>

to the bottom of this file eg ./app/design/frontend/blank/default/template/checkout/onepage/review/info.phtml

1

I had same problem with rwd (iphone) storeview and solved the first problem with

but later I still had a problem (continue button not working) Solution was to collect info.phtml from /app/design/frontend/default/iphone/template/checkout/onepage/review

I have taken from an old working version.

The strange fact is that everything worked fine in the desktop view.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.