this is currently not directly supported. But you could probably make it by changing the edit template. The the problem is that some datatypes require input, which means that you would need to add hidden variables for the different fields. You could e.g. make a switch which will show the fields for the current step while at the same time having the oter attribute variables as hidden variables.
You could step through the steps using the store draft buttong and adding a status variable about the position. E.g. /content/edit/42/2/(position)/first_step then you would change the form target to /content/edit/42/2/(position)/second_step based on the current posistion.
FYI. I solved the problem with a css based solution. Testing if arguments have value and hidding them with the css properties. Like that I submit everytime the whole object but the user only see relevant fields.
I think I would have done it by writing a small extension for this using Bards suggestion. Rough idea: Replace the edit template with an override where the form action is a script of your extension. The script takes the posted variables and gives them back to the template which makes hidden input types out of them and shows the next batch of the attributes to edit. This is repeated until we are at the last batch. The the form action is changed to the original form action again so when we post this, EZ gets the data for the full form.
Advantages:
- Easy to implement (for a specific class, a general solution is a bit more complicated as you would have to group the attributes somehow).
- Easy to implement the possibility to get back and forward between the single pages/
- No objects with partial data are created, if the user cancels there are no leftovers to cleanup - Also works for objects with required attributes.
Problems:
- Validation is done only at the end, not at each page (although this could certainly be implemented) - Posted data might be very long (although not longer than with the one-page edit)