18

Please, can someone assist me? I am having an issue with my one-page checkout on Magento CE v1.8.

I am testing the checkout process and noticed that after selecting a shipping method the system fails to move onto the next step which is "Payment Information". When I click on the continue button nothing happens and it remains on the shipping method tab.

I am new to Magento and still playing around with it so I wouldn't be surprised if it's a stupid setting or an overlooked issue because of my lack of experience with the system.

But I read somewhere that it may be a JS error or something from the template.

The link is http://beachandbeyond.co.za/shop and any assistance would be appreciated.

3
  • In admin panel go to System->Configuration. Then Click the Payment Methods tab and check whether payment methods are enabled or not?
    – Sukeshini
    Nov 20, 2013 at 9:30
  • Hi Su123 I do have payment options enabled. It works with the default template just not my current theme.
    – Scott
    Nov 20, 2013 at 11:40
  • 1
    Better to compare the checkout.xml of your custom theme with the default theme checkout.xml. And check if any missing parts. (Check specifically the contents between the handler <checkout_onepage_index>)
    – Sukeshini
    Nov 20, 2013 at 11:58

2 Answers 2

13

There is a problem with the markup in the payment section.
When the shipping method step is completed this js should be executed:

$('checkout-'+response.update_section.name+'-load').update(response.update_section.html);

response.update_section.name is payment-method

but $('checkout-payment-method-load') returns null because there is no element with that id in your DOM.
Make sure that this file in your theme checkout/onepage/payment/info.phtml has the following content:

<dl class="sp-methods" id="checkout-payment-method-load">
   <!-- Content dynamically loaded. Content from the methods.phtml is loaded during the ajax call -->
</dl>
10
  • Hi Marius I have had a look in that file and that code does exist. shop/app/design/frontend/base/default/template/checkout/onepage/payment/info.phtml It works with the default theme, so I am guessing it must be an issue with the current them. I have tried contacting the seller for info, but to no avail. Now I have a deadline rolling in and getting desperate. So any further assistance would be highly appreciated.
    – Scott
    Nov 20, 2013 at 11:38
  • Try to look at the default theme layout file for the checkout and make it look similar to the one in your theme. Give special attention to this block <block type="checkout/onepage_payment_methods" name="checkout.payment.methods" as="methods" template="checkout/onepage/payment/info.phtml">
    – Marius
    Nov 20, 2013 at 11:51
  • I located these two files. The default template file was found here, shop/app/design/frontend/default/modern/layout/checkout.xml and the theme file here shop/app/design/frontend/default/beautyshop/layout/checkout.xml The block code you refer to is the same, except that the custom theme calls a methods.phtml file instead of info.phtml file. I tried to change the methods.phtml to info.phtml in the file code but I still experienced the issue.
    – Scott
    Nov 20, 2013 at 12:43
  • the default ones are in app/design/frontend/base/default
    – Marius
    Nov 20, 2013 at 12:47
  • I have played around with the suggested files, to no avail. I have changed the methods.phtml to info.phtml to no effect. I even copied all the code from the default checkout.xml to the custom theme checkout.xml to no effect. Cleared the cache and tried again. I'm no coder, so maybe I am messing up but I think I have followed your instructions pretty well.
    – Scott
    Nov 20, 2013 at 13:28
18

As it has been said in the comments the error is located in the checkout.xml.

Here is the faulty code in the custom template:

<block type="checkout/onepage_payment_methods" name="checkout.payment.methods" as="methods" template="checkout/onepage/payment/methods.phtml">

And should be replaced by:

<block type="checkout/onepage_payment_methods" name="checkout.payment.methods" as="methods" template="checkout/onepage/payment/info.phtml">

This error was found on a templatemonster template.

1
  • 1
    This did the trick. Jun 12, 2015 at 8:05

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