How is Multi-Step Wizard ?

I have a multi-step wizard created, there are about 5 pages, each of which have their own views. Walking through the wizard I call the different views and set the session data, so that's all good. But I was wondering if there's a way to make the wizard step through the views, without seemingly changing the URL to the next view.

So if I have a view called foobar and then 3 other views named wizard_step_, how can I keep the URL as foobar while keeping the current context..? Does this make sense..?

I'd also like to be able to append a parameter, such that something like /foobar?step=wizard_step_2 would force that specific view to be rendered...

Thanks for the help!

I can recommend collective.z3cform.wizard for your scenario.

This is an anti-pattern for me. Every resource (every step of the wizard) should have its own URL.


I would also recommend reading into the state machine pattern. You can make your own implementation or use a library such as