
You likely already know that Drupal allows for you to create taxonomy lists. Its easy to build them but how do you display them as a menu so they are actually useful? This article will discuss how to do that.
Head straight to the Site Building | Modules screen and enable the Taxonomy module. This should be in the optional core section.
Go to the Content Menu | Taxonomy screen and create your taxonomy. You do this by creating a taxonomy vocabulary. Click on the Add vocabulary link and give your vocabulary a name, description and choose which content type you want associated with it.
Lets take an example. Suppose I want to create a blog that contains many different types of categories that I want to write about (PHP, MySQL, Apache, and Linux). I call this vocabulary "tech" and select the blog entry, page, and story types as I may want to not only write blog entries about the subjects but also static page and story types.
If you want free style tagging where you can specify a tag name that is to be part of the taxonomy vocabulary then tick off the tags checkbox. How is this useful? Lets say you open up your website to allow other editors to write content. They may not necessarily like your vocabulary and want to create additional terms. So if someone writes a story about CSS, they need a way to categorize it. By ticking off the tag name you allow people to add terms at will.
Download the taxonomy menu module from the Drupal download site and upload it to your server. Then head to the Site Building | Modules screen and enable the taxonomy menu module.
Now we need to configure our taxonomy menu. Go to Site Configuration | Taxonomy Menu Settings and click the Normal radio button for our taxonomy. In the Module page box, you are asked to give the path to the first taxonomy item. In this case, type in:
tech/1/2/3
Now think about what is going on here. This is essentially grouping up the taxonomy vocabularies into sections. In this case "tech" is the section name and subsections can exist 2 levels deep.
Done! Well, almost. If you notice, you will see the taxonomy menu in the main navigation menu. If you don't like that, you can create a custom menu and put it in its own block. Lets do that.
Go to the Site Building | Menus screen and add a new menu. Now lets think a little bit about the future of the website. Suppose I want at some point to add a new vocabulary for programming languages. I would go through the same steps as above. However, how I present this information takes some thought. Do I want a menu that shows all taxonomy vocabularies for my website (i.e. a global taxonomy menu) or do I want separate menus for each vocabulary allowing me more control?
I'll choose the global taxonomy menu approach for now and assume the taxonomy menu will show as a block throughout the right hand sidebar for the entire site.
Give a menu name (all-taxonomy), title (tags), and a description. Now go to the navigation menu where our taxonomy vocabulary menu for 'tech' exists. Click on tech's edit link and use the drop down to choose the parent item Tags. Choose the expanded checkbox if you want each child item (PHP, Apache, MySQL, Linux) to show as collapsed on the m enu.
Go to Site Building | Blocks and look for your tech taxonomy menu and drag it into the left sidebar. Save and then take a look at your results!