Welcome to Alledia, the #1 Joomla Training Company

Would you like to learn Joomla? We're here to help you: Sign Up Today

  • Professionally-produced training videos and tutorials.
  • Guaranteed same-day answers to all your Joomla questions.
  • No Joomla experience needed. We've taught 1000s of Joomla students.

Home / Blog / Joomla Tutorials / Collecting More Information From Joomla Users When They Register 
Jan
20
2010

Collecting More Information From Joomla Users When They Register

Joomla Tutorials
Written by Open Source Training   
Avatar

Joomla Registration FormThis tutorial is the answer to a question asked by a user in our support forum ... "how do I collect more information from my members when they register?".

The user's problem is that the normal Joomla registration form gives you precisely 5 fields:

  • Name
  • Username
  • Email
  • Password
  • ... and, er ... Password again.

That's it. If you want to collect people's location, birthday, opinion or any more information about them you're stuck. What we're going to show you in this tutorial is how to collect more information from your users when they register.


We're going to use an extension called "Community Builder" (called CB in this tutorial). There are commercial alternatives but this is the best free tool for our purpose.

Installing Community Builder

  1. Go to the Community Builder website: http://www.joomlapolis.com. You'll need to register to download the files you need
  2. Once you have registered and logged in, go to Downloads >> CB Team Releases >> and download the latest stable version of CB. At this time it's CB 1.2.
  3. Unzip the files on your desktop. You should have a new folder. Open it and you'll see only two files that you need: com_comprofiler.zip and mod_cblogin.zip.
  4. Go to Administrator >> Extensions >> Install / Uninstall and upload both files.

Setting Up the Login Module

Our next step will be to disable the normal Joomla registration so that people have to join through CB:

  1. Go to Extensions >> Module Manager and find the module called "Login Form". If you can't find it, use the "Select Type" field in the top-right corner to search for mod_login.
  2. Unpublish this module.
  3. Find the module called "CB Login". Again if you can't find it, use "Select Type" field to search for cb_login.
  4. Publish this module.

Demo Registration Fields

Joomla Registration Form

If you'd like a demonstration of what CB can do, you can install create sample registration fields:

  • Administrator >> Components >> Community Builder >> Tools >> Load Sample Data

This will give you an idea of what CB can do. If you go to the login form on the front of your site and click "Register", you'll see fields such as:

  • Company
  • City
  • State
  • Zip Code
  • Country
  • Address
  • Phone #
  • Fax #

Our next step is to show you how to customize those fields for your own needs.

Setting Up Your Own Registration Fields

  1. Go to Administrator >> Components >> Community Builder >> Field Management
  2. Click "New" in the top-right corner.
  3. The first step is to choose what kind of field you'd like. The default is "Text Field" which is an single row (all the examples in the screenshot above are Text Fields). Alternatives are radio buttons, dropdown boxes, check boxes, a text area with multiple rows, or even a calendar for people to enter dates.
  4. Put your title into the "Name" and "Title" fields. Don't worry if "Name" automatically coverts into all lowercase and with a cb_ prefix ... that's for the database. The "Title" field is what people will actually see when they register.
  5. If you think there could be some confusion about the information you want, enter an explanation into "Description"
  6. Set "Show at Registration?" to Yes.
  7. At the bottom of the page there may be some extra information to enter depending on your field choice. For example, checkboxes and radio buttons require you to enter the options people will choose from.
  8. Click "Save" and when you go to the front of your site and click "Register", your new field should now be visible.
  9. Finally, when you're comfortable with this process you can to back to Components >> Community Builder >> Field Management and unpublish the sample fields.

Free Weekly Joomla Tutorials

Your Comments (9)

Terp
Terp
January 22, 2010

Friends don't let friends...use Community Builder. smilies/grin.gif

There are so many other solutions that I would put this one at the very bottom of the list, if it had to be listed at all.

steve
steve
January 22, 2010

smilies/smiley.gif It does have drawbacks I admit

Any other suggestions for free ways to expand Joomla's user registration fields?

Terp
Terp
January 23, 2010

Fabrik rocks! smilies/wink.gif

You can create a totally custom form that will fire a 'joomla user' plugin to populate the joomla user table with the new user and their custom fields.

If you wanted to get really fancy, you could even have them enter an address during registration and map their locations on a Googlemap, etc, etc...

Data-wise, there is nothing Fabrik can't do (cascading dropdowns, db joins, ajax filtering, etc, etc, etc). smilies/grin.gif

Terp
Terp
January 23, 2010

Another solution I often use is AlphaRegistration, as I like the 1-2-3 graphical steps it displays.

After they fire the form (step 1), it will change the graphic to show they are on step 2 and need to validate, for example. Once they click the Joomla validation link, they return to the site and it shows Step 3 completed and can now login (and be redirected, if need be).

It, too, has built-in reCAPTCHA and all sorts of cool features.

They recently added a couple of custom fields (birthday, gender, etc), so you could always modify these fields and change them to fit your needs.

Here it is in action on one of my sites, if you want to check it out. smilies/tongue.gif

David Dawson
David Dawson
January 28, 2010

The problem with all these different addons is that they are not always cross compatible.

Say you use jfusion / virtuemart / community builder / alpha reg. etc etc... each one has their own login forms, and I have had problems in the past with "cross contamination" to coin a phrase smilies/wink.gif

0
Renea Leathers
January 30, 2010

UserMeta http://joomlacode.org/gf/project/usermeta/frs/ is a system plugin for Joomla 1.5 to make it easier for users/developers to extend the user parameters. It is very easy to store a new paramter for a user (like GROUP NAME) in the jos_user table. Then, using something like MetaMod, content can be hidden or shown based on those new parameters.

David Dawson
David Dawson
January 30, 2010

interesting... could I perhaps have info in a field that only that user could see?

I.e. each of my customers has a control panel login for their website, could I store that in there?

0
Jon Lackey @zuno
January 30, 2010

We use UserMeta anytime we need more than the core fields—which is almost always.

UserMeta is extremely powerful and creates unlimited possibilities.

This should be a core plugin, and there should be something similar for content. Then you have native CCK and no need for extra extensions.

steve
steve
January 30, 2010

Thanks John and Renea

I work with Joomla every day and had literally never seen it or heard of it.

Methinks it needs more publicity ...

Write comment

 
  smaller | bigger
 

busy