Navigation Usability Goodness: Menu Trails Module

Songbird Starts Walking

Navigation. Without it, we'd all be lost. And yet, for many of us power-users site navigation can be something of an afterthought, with "a useful set of links" falling somewhere below "hackable urls" on our personal list of priorities. But if you're going to try and win over the browsing public, you'd better have a good menu system.

When dealing with simple brochureware or blog sites, Drupal core's menu module provides everything you need right out of the box. For design-heavy sites with a simple navigation tree, workable menus can be baked direct ly into the theme. However, keeping users oriented becomes increasingly important, and increasingly difficult, as your web-empire spreads and sprawls beyond what menu.module provides and what a designer can code into a theme file.

With that in mind, Chapter Three is happy to announce Menu Trails module, developed with sponsorship from the uber-cool cats (uber-flatulent raptors?) at Songbird.

Songbirdnest.com is exhibit A of a growing web-empire, making use of Bugzilla, Trac, and Drupal to manage the online life of their open-source media player/browser mashup. With several sections, sub-sections and more in their site plan, we realized it was time to transcent theme-based tweaks and add some common-sense usability to Drupal's menu system:

  • Menu Trails implements primary/secondary links which keep the current menu trail "active" or highlighted. A handy snippet ready to go into your template.php is included.
  • The module provides a means of broadly categorizing nodes (by type or taxonomy) as falling "under" an existing menu item. These nodes are not added to the menu tree (keeping the menu admin system sane) but they will trigger the functionality above -- preserving navigation state for the user -- when viewed.

How is this useful? Compare:

Before:
Before Menu Trails

After
After Menu Trails

Makes a big difference, right? After talking to pwonlan about this functionality in IRC, the theme layer part -- giving parent menu items a CSS class so they can be highlighted -- will likely be in Drupal core for version 6.0.

For now the module is checked into CVS. We're going to be doing a bit more tuning, and I want to see how feasible it would be to integrate somehow with views, so that nodes can be assigned to fall "under" any view which generates a menu item. I expect to package a 5.0 release later this week. Stay tuned to the project page for more on this.

Songbird Finds a Tree!

This looks great..

Any word on when a downloadable release will be ready?

Well....

Wow! That's great! Thanks!!!
Buy Essay

No manual online at drupal.org

Argh! 1+5 is 6 and this stupid form thinks otherwise, amazing.

The documentation is down for this module, can you please put it up or email me the documentation?

http://cvs.drupal.org/viewcvs/drupal/contributions/modules/menutrails/RE...

News for Drupal 6 ?

Is this module now present in drupal 6 core?

Thank you.

I highly recommend this

I highly recommend this module! Even though the drupal project page says it's still in dev I have used it very successfully on a drupal 5 site and it's the next best thing to a miracle as far as menus are concerned. Thank you! Saved me many headaches and late nights.

The SW.Menu module allows you

The SW.Menu module allows you to create purely custom menu structures that can be tied to the tabs in the site, users, files, and external pages. No more do you have to let your site be tied to the stringent rules of the automatically generated menu within DotNetNuke, now you have full control over what items you want in the menu!
Research Paper

Often for reasons of mental

Often for reasons of mental illness or other invisible conditions, which for some reason are far more damning than physical afflictions, these are individuals who are near-universally rejected, regardless of their efforts to engage in the world.
regards,
online games

Dealing with simple

Dealing with simple brochureware or blog sites, Drupal core's menu module provides everything you need right out of the box. For design-heavy sites with a simple navigation tree, workable menus can be baked direct ly into the theme. However, keeping users oriented becomes increasingly important, and increasingly difficult, as your web-empire spreads and sprawls beyond what menu.module provides and what a designer can code into a theme file.
Kefalonia

Thank you!

Thank you thank you thank you... yes this does a lot of what I needed. Great stuff. :)

This rocks!

This fixed my problem! Thanks

stumped

I feel kinda stupid but I can't figure out how to get this thing setup.
Once I have enabled the module I go to the configuration page but I can't make sense of the instructions.
I have a main menu with 3 items and I have a submenu show up only when the first item of the main menu is selected or when any of the submenu items are selected. I want the main menu item to stay active when any of the submenu items are selected, which menu do I set as the menu trail menu? What do I set in the node type selectors?
Any help appreciated thanks

This is mostly automatic

I want the main menu item to stay active when any of the submenu items are selected, which menu do I set as the menu trail menu?

This behavior is enabled just by turning on hte module. However, you may need to adjust your theme to have this become a visible effect, as the actual appearance of the "active trail" attribute is all in the CSS. In Drupal 7, this should be better supported in core (e.g. to make menutrails "work" in Garland requires a small theme override function), but at the end of the day if you have a custom or contributed theme, your mileage may vary.