Last updated April 14, 2009. Created on November 12, 2005.
Edited by ultimateboy, add1sun, sepeck, matt westgate. Log in to edit this page.

Drupal comes with a menu module that allows you to create infinitely nested menu trees. You can activate this module at administer > modules if you can't see the menu item labeled "menu" in the "administer" menu.

A screencast of building a basic site navigation system using menu module is also available for Drupal 4.7 users.

Creating a menu

1. To add a new menu, go to the menu module's page at administer > menus. Click on "add menu" and supply a title for your new navigation. If it is the main navigation, simply call it "Main navigation" or "Default menu" or whatever you find appropriate.

2. Now that you have created your menu, enable it on the administer > blocks page checking the "Enabled" checkbox after the menu name that you entered in step one. You can also change the region and the weight of the menu. This affects where the menu is placed on the page. For a detailed description of what are blocks and how to use them, consult the block module's handbook page. After having enabled the block, you should see an empty section on the side that has the title you supplied for the menu.

3. Create menu entries. This can be done by going back to the menu module's page and clicking on "create menu item". Now you can enter a title for the new menu item, supply a short description, define its path (for a detailed description on paths or url aliases, consult the path.module's handbook page).
Select the parent for the menu item. That means, you can select under which navigation item your new menu item is filed. Selecting the item with the same title as your menu's title means that the new item is a top level item.
Select the weight. This defines at which position the menu item is. A lower weight means that the item "floats" above items with "heavier" weight.

You can also create multiple menu items for one node. This allows you to find the node on more than one place. But generally your visitors get only confused if they can find the same content on multiple places, so use this feature carefully and only when it's appropriate.

Note: users are only shown menu items in which they have access to view. So, for example, if a menu item with a path of "node/add/page" were to be created, only users who have access to create page content would see this menu item.

Simplifying the workflow

In Drupal version 4.6.x, always having to go to the menu module page is sometimes annoying if you just want to quickly add a page to your site. For this purpose, the Menu-on-the-fly module has been created. It adds a section on every create content that allows you to create a new menu item along with the node quasi on the fly (as the module's name indicates). This functionality is built into the core menu module in 4.7.x

Looking for support? Visit the forums, or join #drupal-support in IRC.