How many times have you built a site, and your client asked you for some additional information about users who register for the site? They wanted to collect their mailing address, date of birth, a favorite book, or even they just wanted them to accept the terms of service. Unfortunately, in Joomla 1.5, you would have had to install a complex extension like Community Builder to acheive this functionality. Now, however, it’s built into Joomla 1.7.
Here’s how to configure expanded profiles:
1. Go to Extensions — Plugin Manager — User-Profile. Click on the name of the extension to enter the editing screen.
2. Enable this plugin, then look on the right side of the screen at the options available.
This list of options contains the additional types of data that you may collect in a user profile. By default, all of these options are set to “optional”, meaning that they will display on the user registration and user editing pages, but the information is not required. Change the dropdown to “required” to require information (they cannot register without entering something) or “disabled” so the field does not display.
The top group of fields will show up on a user registration form on the front end of the website, as well as in the user profile in the back end of the website. The bottom group of fields are available for editing a user profile.
3. In this screen, I made the following changes:
- Disabled Favorite Book, Terms of Service, and Date of Birth
- Required Phone and Website
4. I hit Save & Close at the top of the screen. I’ve now flipped to the front end of the website. This is a standard Joomla 1.7.0 installation with the sample data in place. I clicked the “Create an Account” link under the login box on the lower left side of the page, and this is the screen I see for registration:
If you flip to the back end of Joomla, and go to Site – User Profile, your user profile will come up for editing. Look at the right side of the screen under the User Profile tab, and you will see the options below:
You can cancel this screen, but if you choose to save in any way (Save, Save & Close, etc), you will be required to enter a phone and website for yourself, since these are required fields.
When your client wants to get this information back out of the site as a report of some kind, unfortunately there is no easy way to export directly from Joomla. However, the information is saved in the database, and a report can be generated from the data if you or someone you know has the expertise to write it.
NOTE: I did encounter what seems to be a big bad bug while writing this article.
UPDATE: It’s possible that big bad bug only applies to a WAMP-based site. The above seems to work bug-free if the site is on a web host and not my local WAMP-based machine.