Menus are how users move around a website; by clicking on words like 'Services' or 'Contact Us', they will get to your content. As such, it is important to think about what the best terms are to describe your site to someone who isn't familiar with what you or your organization offers. Happily, the time it takes to think through and decide on the best options probably takes less time than it takes to actually build them.
Drupal 6 comes out-of-the-box with three menus. The first is the 'Navigation' menu, which is the one used to administer the site (it has the 'My Account' and 'Administer' links in it). There are also the 'Primary' and 'Secondary' menus, which show up in different places on the page (and, by default, are empty in a new Drupal installation). You can also add new menus, like 'Footer Links' or 'Foo Bar' or anything else you might like.
Drupal 7 comes out-of-the-box with four menus. The 'Main menu' is used for the major sections of the site. It is the primary navigational menu. This is the menu to which content items are added from the Menu Options in content editing. The 'Management' menu contains the links for the administrative tasks (Content, Structure, etc.). The 'Navigation' menu provides a menu of quick links that is exposed to site visitors. The 'User menu' provides the logout link and links for an individual user to manage his/her account.
The next few steps show you how to add a new menu as well as how to add new items (links) to an existing menu. The steps are essentially the same for Drupal 6 and Drupal 7 with minor differences in labels.
Creating a new menu
Start by going to the navigation menu and follow the links: Administer > Site building > Menu
You'll end up at the Menus page
There are three fields: menu name, title, and description
- Menu name
- The menu name has to be 'machine readable', which means that it can't have spaces, punctuation, and has to be lower case (like the help text says). This is for Drupal's own internal use.
- The title is for humans and may be visible to site visitors as well. It can be anything you want.
- Writing a description for your menu can be useful to describe why the menu was created.
Once you have entered your information save the menu.
Adding a menu item to an existing menu
Click on the name of the menu you would like to edit. (If you created an entirely new menu per the above, the navigation menu will now show that new menu, e.g. 'Foo Bar'.)
To add a new menu item, click the Add item link
- The path is where the menu entry will take your visitor. This can be external, as it is in this case http://drupal.org, or internal such as node/1 or admin/reports.
- If you have clean url's enabled you may also enter the path alias (see note below on adding content to menus during content creation).
- Menu link title
- Give your menu entry a title. In this example, Drupal
- A description can be useful to tell yourself and others what the menu entry is for
- This checkbox allows you to make the menu entry active or inactive (show or not show) without having to delete it.
- If this menu entry has sub-entries, known as children, this allow the menu entry to stay expanded so that the children are shown by default.
- Parent item
- Parent item selection allows you to choose where in the menu hierarchy your menu entry belongs.
- Weight defines the relative rank of your menu entry. A smaller number means it is placed higher up.
Now save your menu entry.
Display your new menu
To display a new menu you will need add a Block display to your Drupal installation. To do so, go to Administer > Site building > Blocks and scroll down to the 'Disabled' section (where blocks that aren't currently being displayed are managed). You can activate the Foo Bar block by dragging it to the left sidebar (or any other region). When complete, you should see:
Your left sidebar should now display Foo Bar followed by the link you specified
You should now be able to create and edit menus. You can read more about blocks at Blocks - Adding extra information
Once the menu has been created it then becomes available to the content creation form (node/add). When creating a new node the node may be directly added to any of the available menus.