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
| Comment | File | Size | Author |
|---|---|---|---|
| #1 | 834610.patch | 8.41 KB | stella |
| multistep_user_registration.patch | 7.66 KB | stella |
Comments
Comment #1
stella commentedrevised patch which now handles displaying of unprocessed form elements on the last page of the pageroute.
Comment #2
guntherdevisch commentedHi 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
Comment #3
stella commentedYou 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.
Comment #4
guntherdevisch commentedHi 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
Comment #5
thomjjames commentedHi,
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
Comment #6
liquidcms commentedi 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
Comment #7
liquidcms commentedi 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.
Comment #8
thomjjames commentedHi,
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
Comment #9
bryancasler commentedsubscribe
Comment #10
sharlene commentedsubscribing too... thanks.
Comment #11
nmudgal commentedStrict 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?
Comment #12
nmudgal commentedI apologizes for distracting this issues, so i think i should create new issue.
Comment #13
liquidcms commentedgave 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
Comment #14
J.B-2 commented#13 - liquidcms: Do you have a link for the module you created please?
Comment #15
liquidcms commentedi have attached the module to my blog post.