If you are an experienced Joomla user, you probably developed many Joomla sites that have user accounts management. You know what I mean... Registration form, login module, pages visible only for registered members, and things like that. We all know that Joomla 1.6 (and later) comes with advanced (and very complex) access control. But, how to achieve this simple task of customizing the registration form?

communityA feature that I missed so many times during development of client's websites was flexibility of Joomla user registration form. There're only username, name, email, and password. Nothing else! But almost every client would ask for adding more fields there, like address or phone number. It's important to collect as much client data as possible, especially for e-commerce websites. CRM (customer relationship management) is a strategy for managing a company’s interactions with clients. Business (and website) owners would like to have extended information about his/her clients. This will help him to find out more about clients' behaviors and habits. Furthermore, this will help the business owner to enhance its services, to serve his/her clients better, and to make more profit.

Imagine this situation: You have a client who needs a website with user management, but he needs to collect some specific information about his registered users. You would probably offer him/her Community Builder, JomSocial, or similar third-party component? Don't do that! Here are two most important reasons:

  1. Those components are great but probably perfectly unneeded for your client. Besides training him about Joomla, you would need to train him how to use those complex components.
  2. If you are working on a website based on Joomla 1.6 (or later), there's a nice, but unfortunately perfectly hidden feature that allows you to add custom fields in the Joomla registration form.

I bet once you reveal this secret, you will use this feature in over 50% of your Joomla sites! Here's is how the registration page looks by default. I know you have seen this form so many times:

user registration

Now, let's add some fields there! Go to the Plug-In Manager (Extensions > Plug-In Manager) and look for a plugin named as User - Profile. This plugin comes with Joomla by default, so you don't need to install anything. However, the plugin is disabled by default, so you must enable it first. This single click is enough to change the Joomla registration form dramatically and add 12 useful fields:

user profile

In User - Profile plugin parameters you can disable some of those fields and make them optional or mandatory. Unfortunately, there are no options to edit fields or to add and remove fields without hacking the plugin's files. I would like to see this in one of the future Joomla releases. But in most cases, what we have so far will be enough. There are several additional fields that can be added to the registration form with a single click.

Activate additional fields in Joomla registration form in User - Profile plugin

The fields can be renamed fairly easily. For example, if you don't want to collect information about Favorite Book, you can edit the language file and change it to Favorite Movie, or something like that.