Home

Primary links

  • top o the deck
  • Drupal for Beginners
  • about
  • links
  • give me some sugar

Drupal stuff

  • EDAM
  • STARDOM
  • Question Bank
  • Drupal musings
  • Drupal tips
Home

Key stuff on this site

Easy Drupal Admin Manual (EDAM)

SEO, Traffic and Revenue: Drupalace's Online Manual (STARDOM)

Drupal for Beginners

Subscribe to posts by RSS or email

Subscribe to Drupal Ace by RSS feed RSS feed 

Subscribe to Drupal Ace by Email

Donate towards my web hosting bill! Get a great host!

Share and save

Share/Save

Random piece of content

Checking out Amazon on Drupal 6, Part 2

Manuals on this site

  • Easy Drupal Admin Manual (EDAM)
    • Welcome to Your Site
    • First Steps: Please Read!
      • Understanding These Instructions
      • Important Terminology!
      • Best Practices for Site Admins
    • Super Quick Guide (for the experienced and the brave)
    • Logging In
    • Your Administrator Tools
    • Setting Site Basics
      • Setting Site Information
      • Configuring Your Theme
    • Creating Content
      • Node Types
      • Create a Page Node
      • Create a Story Node
      • Create a Blog Entry Node
      • Making Images and Other Files Available
      • Using Text and Image Editors
    • Organizing Your Content
      • Terms, Vocabularies, and Taxonomy: "Tagging" Your Content
        • Taxonomy Suggestions
      • Menus, Links, and Paths: Navigating the Site
        • Content Paths and URLs
        • Creating Links
        • Working with Menus: Administration Form (Drupal 6)
        • Working with Menus: Administration Form (Drupal 5)
        • Creating Menu Items on the Fly
        • Placing Menus on Your Pages
      • Placing Content on pages
        • Creating a page from a Single Node
        • Creating a page from a List of Nodes
        • Setting the Front Page
      • Working with Blocks
    • Maintenance Stuff
      • Maintenance and Construction Notices
    • Other Fun Things
      • Changing Color of Garland Theme
      • Free Aliases!
  • SEO, Traffic and Revenue: Drupalace's Online Manual (STARDOM)
    • Set a Clear Goal
    • Make a Good Site
      • Put out the Welcome Mat
      • Make Great Content
      • Build a Great Brand
      • Make Navigation Easy
      • Tune Site Performance
    • Drive Traffic
      • Promote your Site
      • Get Found with SEO
    • Build a Community
      • Build an Offsite Community
    • Monitor and Improve
    • One-Page Checklist
    • Drupal and the Blogging Starter Checklist
      • Drupal and the Blogging Starter Checklist, Part 1
      • Drupal and the Blogging Starter Checklist, Part 2
      • Drupal and the Blogging Starter Checklist, Part 3
      • Drupal and the Blogging Starter Checklist, Part 4
      • Drupal and the Blogging Starter Checklist, Part 5
      • Drupal and the Blogging Starter Checklist, Part 6
      • Drupal and the Blogging Starter Checklist, Part 7

You said it!

  • Tough one to Inves...

    I have heard and read stories such as this one before, and their common denominator is Drupal...

  • exclude

    excellent tip - can highly recommend the module - installed and working perfectly in drupal 7

  • Great CMS

    This book seems very interesting as I am currently starting a project to build a community site...

  • Thanks!

    Thank you very much !

  • Thank you very muc...

    Thank you very much !

more

menus

Working with Menus: Administration Form (Drupal 5)

  • admin
  • content
  • Drupal
  • menus

Menus are the key to your site – they're the way by which visitors get at your content.

A menu is a list of links to content. Menus can appear in a horizontal line at the top of your pages, as with many web site designs. Or they can appear along the sides in blocks, another common design.

A specific link in a menu – a "menu item" – can link to a specific node. Or, calling on the full power of the database behind your site, it can pull up a list of nodes based on some criterion.

There's a big administration form for all menus on your site:

Navigation » Administer » Site building » Menus

At the top of that form, you'll see four tabs: 'List', 'Add menu', 'Add menu item', and 'Settings'. An overview of the tabs:

List

This form lists every menu currently created for your site. Immediately under the menu's name are one or more options:

Edit

This brings up a form that lets you change the name of the menu. That's it.

Delete

If the menu is one that you, and not the Drupal system, created, you can delete it from here.

Add item

This is an important one: it lets you add a new menu item to the menu. The link takes you to the 'Add menu item' tab; see Add menu item below.

list of menu items

Under the above choices is a list of the items – the links – in the menu. Its columns are:

Menu item

The name of each item. Clicking on an item's name simply activates that link, the same as selecting it in an actual menu.

Expanded

The 'Expanded' column refers to how sub-menus appear. A menu item can have multiple menu items beneath it as a sub-menu. See the Navigation menu for a perfect example: the item 'Administer' has a sub-menu 'Site building' below it, which in turn contains items like 'Blocks'. If a submenu is expanded, then it will appear with its contained items visible. If it is not expanded, then a viewer will have to click on the submenu to see its contained items.

Operations

The 'Operations' column has links to edit, disable, or delete a menu item.

Editing a menu item follows the same procedure as creating one. See Add menu item below.

Disabling a menu item is a useful technique. It takes the item off of the visible menu, but retains it on the administration form, where you can easily enable it again later.

Finally, deleting a menu item removes it for good.

Add menu

There's not much under the Add menu tab: just a field to input the name of a new menu. This is for creating a menu as a block. The new menu will appear on the Menus administration form as only a name, with no items underneath; you'll then want to add menu items.

Once that is done, you're ready to have the menu appear on the site. Head to the Blocks administration form, find your new menu's block under the Disabled list (it'll have the name you created for your new menu), and place it on the page where you like.

See Working with Blocks and Placing Menus on Your Page.

Add menu item

This is where you add a menu item – a link to content, whether a node (or list of nodes) within your site, or an external URL (such as a page on another website).

Here are the fields on the form:

Translations

You'll see this option if you have multilingual capabilities installed in your site. For each of the active languages, you can insert a custom title and description (see explanations below). For example, if you have a menu item called "services", you can input "servicios" as a Spanish equivalent.

When a visitor switches languages, translated menu items will appear in the appropriate language.

Title

This is the name of the menu item, as it appears on the site: 'home', 'products', 'contact me', or what have you.

Description

Whatever you input here will appear as a "tip" when a visitor places the mouse pointer over the link ("hovers" over the link, as the techies term it). It's a good way to describe the link a little, without using a long title. For examples, hover your pointer over the links at the top of this page.

Path

This is the meat of your menu item: what does it link to? You can input any external link (such as http://www.google.com) or an internal link to content within your site.

Internal links are a big, rich topic. See Linking to Content.

Menu items can be nested underneath other menu items (for example, menu items for several products, nested under an 'All Products' menu items). Normally, the nested "sub-menu" items appear only when the parent menu item is clicked. But if you check the 'Expanded' checkbox for your menu item, any sub-menu items nested under it will be visible within the menu, even without a visitor clicking.

Parent Item

Another important setting: what menu your menu item appears under. Click the drop-down menu. Available menus, and the menu items beneath them (indented with hyphens) appear.

Heirarchical (or "nested") menus are possible as well. "Sub-menus" – the "children" menu items of "parent" menu items – appear on the list, using deeper indentations.

Choose a menu's name to place your new menu item inside that menu. Or choose a "parent" menu item, to place your new menu item underneath it as a "child" sub-menu item.

Weight

Where in the selected menu will your new menu item appear? Set the "weight" for each item in the menu to order them: the "lightest" weight will appear first, and the "heaviest" weight will appear last.

For example, you might set the weight of a menu item 'main page' as -10, and a menu item 'contact us', as 10. The link 'main page' will appear first, and 'contact us' last. A menu item with a weight of, say, 0 will appear in between the two.

Settings

This form has a couple of settings related to site-wide handling of menus:

Primary and secondary links settings

Primary menu

Here you set an important item: your primary menu. Most web sites have one "main menu": a menu with important links for visitors like 'home', 'about us', 'links', and so on. Drupal gives this menu special treatment: most graphic Themes automatically display the primary menu, usually at the top of every page.

How do you create your primary menu? Easy:

1) Create a menu for the purpose, if it doesn't exist already. The items should generally be your most important pages or "sections", starting with 'home' (or 'main page' or 'front page' or whatever you prefer to call it).

Name this menu 'primary menu', 'main menu', 'site menu' or some such.

2) Open the 'Settings' tab (the topic of discussion here). Under 'Menu containing primary links:', choose the menu you created above.

When you click 'Save configuration', you'll now have a primary menu.

Secondary menu

What's a secondary menu? It's a special menu, like the primary one, that many Drupal graphic Themes reserve a special place for.

But many Themes don't display secondary menus, and a lot of Drupal users scratch their heads over what it's for. If you like, set a secondary menu here (as you did above for a primary menu), click 'Save configuration', and see whether anything shows up, and where.

There's an explanation on the Settings form: "If you select the same menu as primary links then secondary links will display the appropriate second level of your navigation hierarchy." In other words: If your primary menu has parent items with child items under those, then the parent items will show up in the primary menu location, and the first layer of child items will show up in the secondary menu location, when the appropriate parent item is selected.

It's easier to see than to explain. Give it a try.

Content authoring form settings

This setting is probably meaningless unless you are allowing multiple users to create new content, and menu items linking to that content. See Creating Menu Items on the Fly.

  • Add new comment
  • Quote

Make Navigation Easy

  • menus
  • site design

Make it easy for visitors to locate content on your site, and to jump from one page to another. A lot of topics come under this heading:

Make Home easy to find

Can visitors easily get back to your main page, and recognize it as such? Some considerations:

  • Is "Home", "Main page", etc. a highly-visible part of your site's main menu?
  • Does clicking on your site logo take visitors to your main page? There's no law saying it has to, but most people have come to expect it.
  • Does your main page's design make it clear that it's the main page? A unique design, or big welcome message, can help there. 
  • Do you use a "splash page" that visitors have to click through before they get to the main page or other real content? If so, is it really needed for your site?

The Drupal connection: Drupal handles these considerations with aplomb.

First, you don't need to place your home page in your primary menu or any other menu, but it's simple to do so, and there's no reason not to!

Second, when you set a logo for your theme, Drupal will automatically make that logo link to your main page. Schweet!

Finally, while Drupal doesn't automatically bestow a special design upon your main page, it makes that goal easy. Some Drupal strengths related to the main page:

  • It's simple to make a "node list page" out of your main page in Drupal, with the built-in "Promoted to front page" functionality.
  • It's easy to set which pages display blocks, making the main page (or any specified page) stand out.
  • It's easy to set any given node as your main page at admin/settings/site-information. 
  • The great Front Page module enables all kinds of tricks, including splash pages that depart from your theme, different main pages for anonymous and authenticated users, different main pages for user roles, PHP code in the main page, custom behavior of HOME links, and custom mission statements.

Make key content easy to find

I always like sites that highlight key content, typically via links in a sidebar. Great examples:

  • Recent posts
  • Recent comments
  • Recent changes to content
  • Related or similar posts
  • Most popular posts
  • Highest-rated content 
  • Content with specific tags
  • Most emailed/forwarded posts

Another great idea is to hand-pick content as suggested reading. A selection of links to posts with your best work, or content that best explains what the site is about, is an especially good way to welcome new visitors.

The Drupal connection: Drupal makes blocks with those links possible. Its core modules create blocks for popular content, recent blog posts, and recent comments. The Poll and Forum modules create blocks for most recent polls and recent forum activity. [Note: Corrections appreciated if required!] In addition, the following modules add features:

  • Recent Blocks module to create custom blocks listing recent content
  • Recent Changes module to display recently-changed nodes 
  • Similar Entries module to suggest nodes similar to the currently-viewed one 
  • Forward module to let visitors forward nodes by email, and create block listing most forwarded nodes

Many more useful modules are available. Best of all, the Views module lets you create custom lists of nodes based on nearly any criteria.

Make old content easy to find

Old content can get buried in your navigation system. Keep it alive via any of the methods above for key content, as well as the now-classic link to archives (monthly, yearly, or whatever works).

Don't just leave it to readers to find your old content via such sidebar links, though. As you write, actively include links to older relevant content within your text.

Offer a site map

What better tool than a map to find something? A site map that outlines your whole site will let a visitor get just about anywhere. A text-based site map is great for letting the search engines see the whole picture, too. 

The Drupal connection: The Site Map module and XML Sitemap module create site maps. 

Keep navigation consistent

Simply put: Keep the same menu structure throughout your site, and keep the menu(s) located in the same spot. 

Sub-menus that change with the item selected in a main menu are, of course, fine, as long as they too are consistent and easily identified as sub-menus.

The Drupal connection: Drupal makes it easy to create and manage menus at admin/build/menu. Drupal also allows for two special menus, the primary menu and secondary menu; you give normally-created menus these special designations at admin/build/menu/settings. Most Themes provide for pre-determined locations to display the primary and secondary menus.

Keep choices limited

Multiple menus scattered all over, or menus longer than an NBA player's arm, scare off visitors. Keep it simple: group content into as few distinct menu items as you can.

The more content you have, the harder this gets. Keeping menu choices limited will mean "going deep", with sub-menus and sub-sub-menus... though the experts warn against content that can only be reached by lots of clicks. 

Ideal navigation is more art than science. Plan from the start how content items will fit into a menu structure, and keep experimenting with changes as you build!

The Drupal connection: Drupal menus are as flexible as you like, with built-in support for heirarchical menus too. It's easy, too, to create a menu item that links to a specific node: just set the menu item to the target node's path, and it's done. 

If there's any built-in problem, it's a conceptual stumbling block for some new Drupal site builders: the way Drupal builds pages that list multiple nodes. Unlike some CMSes, it's not via first building the "container" page, and then directing various nodes to go to that page; rather, it's via a) deciding the criteria for grouping the nodes, b) building the nodes with those criteria, and c) creating a menu item (or other link) that tells Drupal to build a new page out of all nodes meeting the criteria.

That approach can be immensely powerful, but in my opinion requires a little more up-front planning: you have to not only decide the menu items that content will fall under, but also the criteria that will define the content under each menu item, allowing Drupal to gather up the appropriate nodes. Similarly, reorganizing menus isn't a matter of telling a node to move from one container page to another container page; it requires changing the relevant criteria attached to the node, so it will now be gathered up under a different menu item.

It's clumsy stuff for me to explain, but actually sensible and powerful once fixed in the head. For any reader still stumbling a bit, some additional reading:

  • Placing Content on pages
  • Creating a page from a List of Nodes
  • Understanding node-list pages in Drupal
  • Content, the Drupal Way

Make choices clear

Not quite conflicting with the above: Whatever choices you do offer, make them visible. Specifically, if you've got nested "drop-down" menus, consider opening up those menus so sub-menu items are always visible.

Balancing the above two is your task. If the menus are unavoidably long, it may be best to show sub-menu items only when the parent item is selected. If menus are short, on the other hand, it may be fine to always show the nested sub-menus. (Then again, if the menus are really short, you might ask whether sub-menus are even needed.) 

The Drupal connection: You can choose whether any sub-menu items are visible always or only when the parent item is selected, by setting the "Expanded" selector when editing the parent menu item at admin/build/menu.

Use breadcrumbs

Breadcrumbs are the "trails" of links that show where the currently-viewed page exists within the site heirarchy. The links let visitors return "up" the heirarchy, all the way back to the main page. Typically, the heirarchy shown in the breadcrumb trail will match the heirarchy of the menus used to reach the viewed page. 

Experts agree: Breadcrumbs are good for helping visitors feel structure and a sense of "place" within your site, and of course to help them navigate. Use breadcrumbs when you can.

The Drupal connection: Breadcrumbs work great with a site that has a clear heirarchy of content, and a Drupal site can be built that way – though, per the above discussion of menu item choices, it can also be built with no real heirarchy of pages. Drupal will show breadcrumbs if your site's Theme support the feature, but unlike CMSes which dutifully place all content into prescribed heirarchies, the breadcrumbs for a Drupal site may make no helpful sense at all!

It's a big topic that deserves a big discussion. For now, some useful resources for creating meaningful breadcrumbs from your site structure:

  • Custom Breadcrumbs module
  • Taxonomy Context module
  • Taxonomy Breadcrumb module

Another note: A comment on this page claims that placing your content under the stock Navigation menu aids in automatic creation of natural breadcrumbs, without extra modules. I haven't tried this yet; experiment and see whether it's an improvement.

Use sensible paths

Make paths meaningful

The path that your content shows in the browser address bar is important. A short path made from few, easy-to-grasp words is easy for visitors to grok, and is better-liked by search engines too. A long path full of mysterious characters has the opposite effect.

Make your paths meaningful and clean. You get bonus points if your paths' hierarchies (like news/domestic/2008/election_update) match the hierarchies of menus and breadcrumbs. Navigation heaven!

The Drupal connection: By default, Drupal gives content paths that aren't tasty at all, like ?q=node/42. Bleah. Fortunately, Drupal has ready tools for fixing that. The following are your friends in enabling meaningful, clean, unique paths:

Meaningful paths: For Drupal 5.x and lower, the Path module lets you give nodes nice custom paths. The Pathauto module goes one further, automating the work for you! It's a powerful module with many features, including the ability to create path-based hierarchies from otherwise-non-hierarchical content, and is highly recommended for any Drupal site.

Clean paths: Nice human words in your paths are a good start, but there's still something wrong with ?q=news/domestic. Get rid of the ugly ?q= by enabling Clean URLs at admin/settings/clean-urls.

Keep paths unique

Multiple paths leading to the same content can crop up easily when moving a site from one domain to another, or making other large-scale changes in structure. It happens to me a lot just during day-to-day fiddling with paths for specific nodes.

These multiple paths are bad for your search ranking. External sites will link sometimes to one path and sometimes to the other, meaning your vital "link juice" gets split between them. In addition, search engines can view the setup as multiple instances of the same content – an SEO no-no – even though all paths lead to a single page.

Let a given piece of content have just one unique path. Simply deleting extra paths isn't often the answer; there may be incoming links to that that, which will now result in errors. That's bad for visitors and for SEO. 

Google recommends 301 redirects to solve the problem. The same goes for sites that can be reached at both domain.com and www.domain.com; you're creating multiple working paths for each piece of content. Deploy the 301 redirects, or see whether your hosting service has a quick solution. (My host DreamHost, for example, easily allows webmasters to set whether the www is automatically added or removed, or whether – should you really want it – either version works.)

The Drupal connection: The easy advice is "never create two paths to the same piece of content", but that's easier said than done. The main culprit: At times you'll want to change the path of a content piece for some reason, yet the old path will remain in the database as well. To fix that, you can find and delete the old path at admin/build/path, but that leaves a problem: external web sites and search engines may point to the old path, which no longer exists! And dead links are bad for you. 

The smart answer: use 301 redirects from the old path to the new. That's a big topic, with many ways to handle implementation. Fortunately for the time-pressed, there's a nice solution in the Global Redirect module, which does this tech-ish work for you behind the scenes. Go get it!

Resources
  • How to Redirect a Web Page
  • Search Engine Friendly Redirect Checker

Keep links friendly

Make text links visible

Can visitors easily see the links on your site? Making links bold is itself not enough; bold text alone doesn't say "link" to the reader. Web users have come to expect text colors and/or underlining to mark links. Blue, underlined text may look like an online cliche, but it's actually appreciated by many users, especially those who don't spend as much time on the web as we geeks do.

Separate the appearances (generally, colors) used for unvisited links and for visited links, and use those appearances consistently.

The Drupal connection: Link appearance is controlled by your Theme's CSS (typically within the theme's style.css file).

Make sure links work

Broken internal links are an unavoidable bane of webmastering. They'll throw off visitors and search engine crawlers alike.

Continually check internal links to make sure they're working. (If you've got a friendly user community, why not appeal to them to report any broken links?) You can also make use of services like the W3C Link Checker or Google's Webmaster Tools to find broken links.

The Drupal connection: There's a Links checker module that offers to help with this task.

Resources
  • Detect Drupal Broken Links

Handle external links with care

Not everyone thinks this is important, but I like sites that don't unexpectedly toss me to another site when I had still planned to stick around for a while. One way to keep external links from surprising readers is by some visible marker separating them from normal internal links - typically, a small graphic indicating an external link, or even some appropriate added text. Another method is simply to have all external links open in a new window or tab, so the reader gets to the new site without losing his open page on your site.

The Drupal connection: I like and use the External Links module, which adds a small graphic (see it there?) to external links, and even offers the option of making those links automatically open in a new window. That kills both the above birds with one easy stone.

Other modules with similar functionality include the External Links Filter module, and the External Link Page module, which offers a third tack: redirection to a "you are about to leave this site" warning page. That's a mroe intrusive method than I like to use, but some big sites go for it.

Tag content

Metadata is great stuff. Visible metadata "tags" on an article help visitors instantly grok what the article's about. Even if you don't make tags visible, behind the scenes they can let you organize your data in all sorts of ways helpful for navigation. Letting visitors call up all content with a given tag is one great feature.

The Drupal connection: Taxonomy – the art and science of applying tags ("Terms") and managing groups of tags ("Vocabularies") – is a huge Drupal strength and a massive topic on its own. Suffice to say that Drupal excels in letting you tag your content in any way you like and then perform nifty tricks with those tags.

Some reading for the newcomer:

  • Taxonomy: A way to organize content
  • Terms, Vocabularies, and Categories: "Tagging" Your Content

Make search easy

Nothing complex here. Have a search feature (with advanced functions like date ranges if the site calls for it) and keep it visible in a standard location. Also, make sure that your Search Results page looks and acts like the rest of the site, with normal navigation menus, etc.

The Drupal connection: Drupal provides a search box for sites; most Drupal Themes will not only support the search box but also allow you to choose whether or not it displays.

Of course, the built-in Drupal search box isn't your only choice. You can easily use the search widgets provided by other parties, such as the ubiquitous Google-powered search box. Most Drupal site builders will do this by placing the Google-provided code into a block.

Help the lost

Visitors will try to access pages that don't exist, whether via their own error or via broken links and other glitches within your site navigation. Help them get back on track:

Offer useful client error (HTTP 4xx) pages

What do users see when trying to get to a nonexistent or restricted-access page? A page with an error message and number, like 401, 404, etc. Consider placing the following features on the page:

  • Make clear that the page isn't available – that is, something like "The page you were looking for could not be accessed", not just "Error".
  • Give possible reasons for the failure. This may be clear if you serve up a different page for every error, like "The page doesn't exist" for 404, and "You do not have permission to access this page" for 401. But if you use a single page for many such error types, list several of the possible causes.  
  • Get visitors back on track. Make sure that a navigation menu is there, or if nothing else, a link back to your main page. Links to a number of helpful pages – help pages, FAQs, the main page, popular pages, an advanced search page, etc. – might be best of all.
  • For a 401 error, redirecting visitors to a user login page may be helpful.
  • Maintain the site's look. There may be nothing horribly wrong with an error page jarringly different from the rest of your site, but visitors may be less put off if the page matches the rest of the site. 
  • If you expect lost visitors using many languages, make a multilingual page. 

The Drupal connection: At admin/settings/error-reporting you can easily set the page that visitors will see upon receiving 403 (access denied) and 404 (not found) errors.

I like setting these to the site map, based on the Site Map module, which provides an instant full menu of places to head. Needless to say, this also preserves the site Theme as part of the page visitors see. You can configure this module's site map at admin/settings/sitemap, including the explanation of the error that visitors will see.

Another solution for 404 errors is the Search 404 module, which initiates a search for words inside a failed URL path. So, a user trying to reach the nonexistent page www.drupalace.com/modules would at least receive search results for "modules", possibly leading to the page she had in mind.

Make a user-friendly "server error" (HTTP 5xx) page

An error of 500, 501, 502, etc. means the server failed to fulfill an apparently valid request.

More information on this to come.

More resources

  • Eleven steps to creating a killer 404 error page 
  • HTTP status codes
  • W3C Link Checker
  • Google's Webmaster Tools
  • Add new comment
  • Quote

Menu reset

  • quote
  • menus
  • tip

Got a menu item that's acting oddly, such as an admin-only item that's showing up for all users? On the admin/build/menu form, see whether the offending item has a 'reset' link. If so, clicking it may solve the problem.

  • Drupalace's Quotes

Menus, Links, and Paths: Navigating the Site

  • resource
  • admin
  • Drupal
  • links
  • menus

This is important stuff. One of the keys to grasping Drupal is to understand that creating content is just a small part of the picture. Creating a node is simple enough; telling users how to get to any node, via links in menus or elsewhere, is the start of building a site.

  • Add new comment
  • Quote

Placing Menus on Your Pages

  • admin
  • content
  • Drupal
  • menus

So you're all up to speed on how to create menus, how to fill them with menu items that link to content, and how to otherwise sculpt those menus to your liking. Great. Now, how about having those menus actually report for active duty and show up on your site?

Displaying menus in general

Drupal's basic policy for handling display of menus is to make each one a block. From there, display is a simple matter. Head to the Blocks administration form:

Navigation » Administer » Site building » Blocks

Among all of your site's blocks listed there, you should see a separate block for each menu you've created. Just follow the standard procedures for displaying a block, and slap that menu onto pages just where you want it. Like any other block, you can choose from among several locations ("regions") on the page to hold the block, set its order among any other blocks displayed in the same region, and even set details such as having the block only appear on certain pages or for certain user roles. Flexible and easy.

See Working with Menus: Administration Form and Working with Blocks for all the grit and grease. 

Displaying special menus

As discussed in Working with Menus: Administration Form, Drupal offers special treatment for a few menus. See that page, and the notes below, for the extra detail you need to know for those. It's nothing difficult:

Navigation menu

You'll recall that this is the menu Drupal automatically creates for authenticated users. Drupal populates it with the menu items a user needs for all of his permitted tasks: create content, edit his account info, whatever he's allowed to do. 

The Navigation menu appears as a block, like any other menu. The only special concern is this: As the Navigation menu is the one users need to handle user-related tasks, you probably want to make sure it's enabled and readily visible to users. In particular, it's your main tool as site administrator, so think twice before removing it from your pages! 

(If you do deactivate the Navigation menu and desperately want it back, don't panic; you can easily get back to the Blocks administration form at the URL <your site domain>/admin/build/block . Go there and make the Navigation menu visible again.)

Primary links menu

As discussed earlier, most Drupal Themes offer a special location for displaying a "main menu" of your most important links, typically in a horizontal line near the top of all pages. You can select which of your menus gets this 'Primary links menu' designation. (Drupal automatically offers one such candidate menu, suggestively titled 'Primary links', though you don't have to choose that one.)

The point of note: Setting a menu as the special 'Primary links menu' doesn't remove its existence as a normal block. It'll still be available in your list of blocks, which you can choose to place in any of the regions normally available for block placement. 

Secondary links menu

Also as discussed earlier, many Drupal Themes also support special display of a 'Secondary links menu', typically a second row of links underneath the special 'Primary links menu' links. You can choose which menu, if any, to designate for this special display.

The point of note here is the same as above: Designating a menu as your 'Secondary links menu' doesn't remove its existence as a normal block. You can still choose to place it as a block somewhere on the page.

Lots of choices

You can see that Drupal offers fairly flexible options for placing menus on your pages. For a specific menu, you can choose to not have it appear at all, or to appear as a block in a region of your choice, or to appear in the special 'Primary links' location, or to appear in the special 'Secondary links location', or to appear in one of those two special locations and appear as a block somewhere. For menus appearing as blocks, you can also (as with any other block) set the menu to appear only for certain user roles, and/or only on certain pages. 

That's a lot of possibilities! Just set something simple at first, and play with more detailed options as you come across the need. 

  • 1 comment
  • Quote
  • 1
  • 2
  • next ›
  • last »

Learn Drupal, hands-on

Get the beginner-friendly ebook that teaches community site building via a live case study.

Drupal 6 Ultimate Community Site Guide

Read the review

It's a deal!

Dreamhost dealsDrupal Ace presides over his domain, proudly ensconced in his DreamHost eyrie. Won't you join me?

Promo code deal!

Just enter the code 49ER when you register for an account, and save $49 off the already-low price. No strings!

Read my hosting service review

Drupal mini tip

Need to disable a Drupal module but can't do so from within the site? (This could happen if the wayward module is preventing you from reaching the Modules form!) Look for the module's entry within the "system" table of the site's database, and set the module's status to "0". 

(From within phpMyAdmin: Select the "system" table from the column of tables at left. Click the "Browse" tab. Find the row for the module you wish to disable, and click the "pencil" icon in that row. In the resulting form, input "0" for the Value of "status", and click the "Go" button. Done!) 

Powered by Drupal, an open source content management system

Copyright 2007 and forever after. Made with Drupal, of course. On OS X, of course. Served up by DreamHost. DreamHost

RoopleTheme