Magento – Change Step Order in Checkout

checkoutmagento-1.9PHP

I'm trying to change the order of the steps in the magento onepage checkout. What I need to do is to move the Review step before the Payment selection.

I've looked on the internet for a solution but everything I found was to change the order in app/code/core/Mage/Checkout/Block/Onepage/Abstract.php

I've tried it, but nothing changed.

What I did was creating a file inside app/code/local/Mage/Checkout/Block/Onepage/Abstract.phpand inside this file I've changed the line 208 in:

   protected function _getStepCodes()
{
    return array('login', 'billing', 'shipping', 'shipping_method', 'review', 'payment');
}

what am I missing here?

(I'm using Magento 1.9.1.1)

Best Answer

Also there are few files,where you need change code

  • OnepageController.php at app/code/core/Mage/Checkout/controller/. here, step html/content render content basic of calling function.

In default magento saveShippingAction() function save shipping method Info and render payment step content.

        $result['update_section'] = array(
            'name' => 'payment-method',
            'html' => $this->_getPaymentMethodsHtml()
        );

But for your case,you want to render review step content.so You need to change it

        $result['goto_section'] = 'review';
        $result['update_section'] = array(
            'name' => 'review',
            'html' => $this->_getReviewHtml()
        );
  • skin/frontend/base/default/js/opcheckout.js