Is it possible to redirect the browser to nth step in the onepage checkout? If so, how would one go about doing it?
I'm working on a payment module and have a sort of "cancel" action that i would like to return the user to the step in checkout where you choose the payment method.
I currently return the user to the first step of the checkout like so:
$this->_redirect('checkout/onepage', array('_secure'=>true));
Another issue with this is that i does not work all the time, in certain browsers i'd really not like to name this sort of works "sometimes". Is that something that is known and/or commonly accepted? I have very little actual information regarding this, but i've had complaints from customers about this behaviour. They generally won't give me any specifics so it's kind of a dead end.
Rick is referring to the fact the 'steps' in the checkout are a not RESTful, but Ajaxified steps, they are all on the same page, the vertical accordion is, in fact, just a set of divisions manipulated by a javascript function. You'll need to set the javascript to the proper step as he stated.
checkout/onepage.phtml:
In PHP
In javascript
Sorry for not being clear. Open the template for the onepage checkout page. It is app/design/frontend/default/default/template/checkout/onepage.phtml In the file add
This will take the user the to the step you need. You have to decide the condition(s) under which the user is taken to the step.
I wanted to do the same thing, but couldn't figure out how to make the one page checkout open at the payment step.
In the end, I used jQuery and an ajax call so I could call javascript code after changing the page: