I have multiple user role and different registration forms for each role. It means that for each registration form, there are different fields.

I when a user select her role, the registration form should change. can I have several registration forms?


Take a look at Auto Assign Module to see if that solution will work for users assigning themselves to roles.

If that will work, developing a single registration form that will show additional fieldsets or other form elements based on user role should not be too difficult.

  • Auto Assign Module is not working in Drupal 7! I really need this feature and Im really stuck at the moment. Could someone help me out please? – user2163 Jul 26 '11 at 14:17

First thing you should be aware of, is that you probably don't want to expose the roles to the user during registration, at least not all of them. If you do, then any user would be able to create an admin account, and gain access to the backend.

You can't easily make different registration forms, but you can instead create a multi step form. Step one would be general user information where the user selects which role / type of user to create. The second step would have unique fields depending on the role selection.

The example module has a lot of great examples including how to create multi-step forms.

  • probably I say my question in other word, is beter! How to integration Webform and register module? – AmirHossein Jul 18 '11 at 10:26
  • Doing something like you need by integration Webform and register module is worth nothing because you need almost same of amount of work, as if you code everything from scratch. If you code fast it even slower. – Codium Jul 20 '11 at 11:45

I'm trying to do a similar thing... Check Profile2 (which requires the exciting (Christ I am geeky!) Organic Groups(OG) and Entity)). I have just installed so am going through it myself, but certainly it's the closest thing to what I have been looking for. Hope it helps. Alternatively, try http://drupal.org/node/999420... but I was lost.

Your Answer

