As best as I could tell, the profile_setup module doesn't actually allow multiple step user registrations - i.e. the user registration form can't be split up into its component parts. So I've created a patch to allow this to happen. It stores the form values submitted in previous steps in $form_state['storage'] and merges them back in on the last pageroute step when the form is finally submitted. I haven't fully tested it, but it works with simple setups with core's profile module. I haven't tested it with content_profile yet at all.

Feedback and testing much appreciated!

Cheers,
Stella

CommentFileSizeAuthor
#1 834610.patch8.41 KBstella
multistep_user_registration.patch7.66 KBstella

Comments

stella’s picture

StatusFileSize
new8.41 KB

revised patch which now handles displaying of unprocessed form elements on the last page of the pageroute.

guntherdevisch’s picture

Title: user registration » Looks nice!

Hi Stella,

Your patch sounds very interesting! I also want to split up my registration form, there if have 2 types of users. First i want them to choose a role (because i have different profiles fields), then let them fill in the other user info. I've allready tried with several modules as Pageroute and Profile setup, LoginToboggan, Auto Assign Role, ... but it's not easy to find a solution. In my pageroute i can't add roles, i'm currently searching how to do this and i can't see a submit button on my pageroute, something strange:o

Now, back on topic. I've implemented your patch, but i'm not seeing any change. Can you tell me where's the change? How do i use or can i use your patch?

Am i using to much modules for my registration right now?:)

Thanks,
Gunther

stella’s picture

You need to go to page route and set it up that way. user/register page doesn't change - you'll need to hide that page somehow if using the page route / profile setup patch I added above.

guntherdevisch’s picture

Hi Stella,

Yes i see some change on my last page in my pageroute, there are some extra fields, including there 'choose roles' fields :) But i'm finding it strange that i don't have a submit button or my last pageroute page. Do you have any idea what i'm doing wrong? Am i missing something?

Greets,
Gunther

thomjjames’s picture

Assigned: Unassigned » thomjjames

Hi,

Thanks for sparking this discussion & the patches. Really like the functionality so I'll patch it into the dev version for testing ASAP.

I'm afraid my time is pretty limited right now but I'm going to start making time for the module as it seems to be some demand right now.
If anyone is interested in helping maintain the module with me I'm all ears :)

Cheers
Tom

liquidcms’s picture

i tried this:

- enabled profile_setup (patched with first patch above) and pageroute
- added a route called/at reg-test
- added a page of type: User account registration form (profile_setup)
- set perms for anon "use profile setup"
- set pageroute access for this route for anon and auth
- at profile_setup config i set this route as my ps route

as anon i go to /reg-test and i see the title that i assigned to this page of my route.. but nothing else

as admin i got to /reg-test and get access denied

liquidcms’s picture

Title: Looks nice! » Multipage User Registration form

i added a 2nd page and now my first page (which was blank except for title) now has a next button, clicking this as anon and i get access denied

also, changed the title of this post to something useful.

thomjjames’s picture

Hi,

I've done some testing on this and I can only make it work for the default "Account Settings" page but I like the idea so with try and progress with it.
Further patches welcome!

Cheers
Tom

bryancasler’s picture

subscribe

sharlene’s picture

subscribing too... thanks.

nmudgal’s picture

Strict warning: Static function PageroutePage::info() should not be abstract in include_once() (line 10 of /opt/lampp/htdocs/profile/sites/all/modules/pageroute/pageroute.page_view.inc).
Strict warning: Static function PageroutePage::help() should not be abstract in include_once() (line 10 of /opt/lampp/htdocs/profile/sites/all/modules/pageroute/pageroute.page_view.inc).
Strict warning: Declaration of PageroutePageUserEdit::unsetForm() should be compatible with that of PageroutePage::unsetForm() in pageroute_include_page_file() (line 670 of /opt/lampp/htdocs/profile/sites/all/modules/pageroute/pageroute.module).

Getting these warnings after enabling the pageroute module along with simpletest module.
After this whenever I click on the add route button it just says "page not available."
How to solve this error?

nmudgal’s picture

I apologizes for distracting this issues, so i think i should create new issue.

liquidcms’s picture

gave up on this module being able to help in this and wrote my own custom multipage user registration module - documented most of it here: http://www.liquidcms.ca/multipage-user-registration-form

J.B-2’s picture

#13 - liquidcms: Do you have a link for the module you created please?

liquidcms’s picture

i have attached the module to my blog post.