What is the Contact Creator Plugin in Joomla?
We've already written a tutorial on adding contacts and contact forms using the core Joomla Contacts component. There is also a plugin built into the core, which automates the creation of the contact form and adds new users to the contact list as soon as you create them. This little plugin, called Contact Creator, will cut the work of adding contacts almost in half, or if used correctly, could automate it completely.
Step 1. Activate the plugin
Go to Extensions > Plug-in Manager
Search for Contact
Click "User - Contact Creator" in the Plug-in Name column
Step 2. Configure the plug-in
Enable the Plug-in from the dropdown field.
Configure the Basic Options. There are only three options:
- Automatic Webpage
Step 3. Configure the Automatic webpage
Mouse over the label, "Automatic Webpage", and you'll get the tool tip above. It's rather cryptic to the beginner. This field uses a formatted string to create a url for the contacts web site, based on the user variables that are entered in the data base.
You can use any of these, enclosed in the square brackets.
Construct the string like this http://desireddomain.com/[username]
Use any URL you want put the variable inside the square brackets as in the example. This will automatically create a URL that will show up in the user's contact. Here's what I might put in on my test site.
If we had a user with a username of edandrea
Example1: http://joomla.dashhelp.com/[username] This would generate: http://joomla.dashhelp.com/edandrea (or whoever user is appropriate.)
Example 2: http://[username].dashhelp.com This would generate http://edandrea.dashhelp.com.
This will not create a page automatically, which the name of the field seems to imply. It only creates a link to a url in the profile. The link has to point to an existing page or, as the case of Example 2, a subdirectory
The next two choices are easy. Pick a default category, and determine whether you want it autopublished or not.
Category: if you choose Staff Members, the contact will be added to the contact page only if the user is added to the Staff Member category. Users added in any other category won't be included.
Autopublish: It's just like it sounds. If you choose no, the entry is still generated in the Contact Component, but you'll have to activate it manually.
Step 4. Add a users
As Administrator, go to Users > User Manager > Add New User
Or go to your home page and add a new user with the login form. Either way the contact will be added. If this plug-in is enabled the user will do most of the work for you when they register.
However, there may still be some work to do if you have specific contact details you want displayed. It depends on which type of menu item you choose and which parameters you have enabled in the Contacts Component itself.
If you have activated the User Profile Plugin, you should fill in all the profile details, and they will become part of the contact.
If the User Profile plug-in is enabled you will be able to enter profile data at the time you create the user.
If you leave the Web Site field blank, it will be automatically filled in using the string you created when you configured that parameter. If you left that blank while you were configuring nothing will be filled in or you can override the parameter by filling in something now.
Step 5. Add a menu item
Go to Menus > Main Menu > Add new. It doesn't have to be the Main Menu, use any menu you want or create a new one.
Then Select a Menu Item Type
For this demonstration we are going to choose List Contacts in a Category.
Choose your category. I'm going to use Uncategorized. This will add anyone that registers on my site to the contact list. Probably not the best option if you are building a company website, but might be good for a club contact directory.
Step 6. Configure your Contact Categories
Go to Components > Contacts > Categories and click on the Options icon.
For this demonstration we especially want to pay attention to the List Layouts. In a category list layout, the items that show in the columns come from the specific contact details. We've entered the user profile, but not the contact details, so all our columns will come up empty. Below is an example of a contact list category that was generated by this plugin, where all the list items "show"
Notice that the only columns that have information are the name and Email columns. Now let's "Hide" everything irrelevant and see what the list looks like.
Result: The staff list
This is what you will see when you go to the category list page, and you have let everyone enter their own information during registration, and you chose to have the newly registered names automatically listed.
With the headings hidden, it looks a lot cleaner. If you want information in all the columns, you need to go to Components > Contacts > Contacts and edit each individual contact and add all the detailed information. The basics of doing that are covered in our tutorial http://www.ostraining.com/blog/joomla/create-a-contact-form-in-joomla/
To get th exact look you want you will need to experiment with the Options sections and show and hide items as necessary. Here we showed you how to set the global options, which automatically apply to every instance of the Contact List Page. If you have more than one page, remember that these same controls exist in the Menu Item options, and you can override the global settings when you create individual menu items.
Result: The individual contact page
I've chosen the Tabs layout in the Category Options. Without filling in the specific contact information you get simple contact page like this one. Even though I filled out the user profile when I entered it, on the Contact tab I can only see the Name, and the Automatic Webpage that was generated from the string I created during configuration.
Result: The profile tab will have data entered in the profile
If you filled out the profile all the information will appear here, unless you've hidden some of it. If you want full information on the contact tab you still need to fill it in.
Result: The contact form is autogenerated
You won't have to do anything to build the form. If you've entered an email address, it will work and go to the right person.