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?
A 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's 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) owner would like to have extended information about his/her clients. This will help him to to find out more about clients' behaviours 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:
- Those components are great but probably perfectly unneeded for your client. Beside training him about Joomla, you would need to train him how to use those complex components.
- 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 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:
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, plugin is disabled by default, so you must enable it first. This single click is enough to change Joomla registration form dramatically and add 12 useful fields:
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 12 additional fields that can be added to the registration form with a single click. They can be customized fairly easy. In example, if you don't want to collect information about Favourite Book, you can edit language file and change it to Favourite Movie, or something like that.