The Fort Langley BIA (Business Improvement Association) requested that we redesign their existing business directory website built with HTML. They wanted to be able to edit the site content and add new listings themselves. They have 100 businesses in their BIA who needed User Accounts and Business Listings. Some non-BIA members also need Business Listings.
I used Acquia Drupal bundle to set up a basic Drupal website. (
www.acquia.com) - It consists of Drupal core as well as a group of modules including Views and CCK.
A. Modules used
1. CCK
2. Views
3. Content Profile (
http://drupal.org/project/content_profile)
4. User Import (
http://drupal.org/project/user_import)
5. Node Import (
http://drupal.org/project/node_import)
6. User Protect (
http://drupal.org/project/userprotect)
1. I used CCK to create custom content type called Business Listing
2. I used Content Profile module to create custom user registration form by assigning Business Listing content type to be the Content Profile
3. Client gave me MS Excel spreadsheet with contact info for all BIA members. I saved it as .CSV format.
- Then I used User Import module to do a bulk import and created many User accounts with attached Business Listing at one time.
4. Used Node Import module to import non-BIA members info into Business Listing. These don’t have User accounts.
5. Used Views to create Business Directory page with Taxonomy term filter exposed to add search functionality.
6. User Protect module – protects your Super User account from being deleted by mistake. I needed to update all the User accounts. So I deleted all the current users and ended up deleting my Super User account by mistake. So the User Protect module will prevent this from happening again.
B. How to:
1. Set up Business Listing content type with these fields:
First name, last name, address, phone, fax, email, website, hours of operation, description, image.
2. Go to settings for Business Listing
Enable: Use this content type as a content profile for users
Click on Content Profile tab and enable these two items:
- Use on Registration
- Use on administrative user creation form
3. Set up Taxonomy with the 14 business categories as terms.
- Add vocabulary called Business Categories
- Add terms eg. Accommodations, Attractions: General, Attractions: Historic
4. Set up BIA member role and permissions
5. Set up User Import module to import list of BIA member contact info in .CSV format and set up multiple user accounts. You have the options of turning off the ‘Notify User about account” and update user accounts.
- set First + Last name with space in between as User Name
- map the fields in your spreadsheet to the fields of Business Listing
- you can assign BIA member role to all Users
- you can customize the Welcome email message here or Notify Users of new account later on after training
6. If you look at the Business Listing node, you will see the User Name as the node title. we want the Company Name to be seen as the Title. So I needed to edit the Title field and replace the User name with Company name. I need to go in and edit each Business Listing anyways.
When you view the User Account, you see the User Name as title
Now, when you view the Biz Listing, then you see the Company Name as the title.
7. Edit each Business Listing to add image, hours, description, replace title with company name and choose the business category.
8. Not all Business Listings are BIA members so import them using Node Import module. These businesses will not have User account. With the Node Import module you can map the Company name to be the node Title.
9. Set up View to display Content type Business listing.
- Expose the filter for taxonomy term to use for searching the directory
- Company name – link to node
Summary:
1. I used CCK to create custom content type called Business Listing
2. I used Content Profile module to create custom user registration form by assigning Business Listing to be the Content Profile
3. Client gave me with MS Excel spreadsheet with contact info for all BIA members. I saved it in .CSV format.
- Then I used User Import module to do a bulk import and create many User accounts with attached Business Listing at the same time.
4. Used Node Import module to import non-BIA members info into Business Listing. These don’t have User accounts.
5. Used Views to create Business Directory page with Taxonomy term filter exposed to add search functionality.
6. User Protect module – protects your Super User account from being deleted by mistake
Comments
Nice tutorial but i need help
I am very interested in web
Thanks
Good information
Views of Directory - alpha listview ?
design
1 import success, others fail
Great article
this way was perfect to do
Drupal is great for small
Useful guide
www.seascapewebdesign.com is awesome!
Very valuable information
Business Directory
Used to be good in Drupal 6...
Thanks a lot for sharing valuable information
Thanks a lot for sharing. You
Only one Problem with Content Profiles
There is just one problem with content profiles, and I am finding it out late in the game: You cannot restrict access to content profile, I am trying to set up a paid directory, and, while I can create a system that restricts access to the ability to of a role create a node content type (which makes it nicely integrate with ubercart's role access node), you cannot restrict access to the content profiles.
Content profiles is also difficult to theme, you do not get a standard list of arrays as you would when you do a print_r with a more traditional node.
Maybe I missed something big, but I'm not sure I did.
Not to take away from your write-up, which is excellent. Didn't know about User Protect module -- good one!
Thanks much.
Try using Node Access module
Thanks for the info on how
Thanks for posting your question on my blog
To add individual non-member Business Listings, go to Content Management > Create Content > Business Listing and create a new node for the Business Listing content type.