Warning: This thing does not work with the new crumbs-6.x-2.x branch. You will need to wait for a new release that will support the new crumbs API.
Crumbdown enhances your breadcrumbs with dropdown submenus, linking to related items.
Examples: Quickly jump ..
Try at your own risk, and feel invited to report back!
Crumbdown depends on Crumbs, so you should install that as well. You also need to make sure it is enabled in crumbs settings.
Most Drupal themes I know do contain custom CSS for breadcrumbs built as simple <a> tags with display:inline. Crumbdown changes the breadcrumb HTML to use <li> tags floated left, otherwise it would not work. This is why many themes will need some custom CSS to make crumbdown work properly.
In addition, this package contains a separate module called 'crumbtweaks', which tweaks the internal menu structure of a few core and contrib modules (block, filter, views_ui), to produce better crumbs breadcrumbs and crumbdown menus.
What are 'related items' ?
As said above, the crumbdown menu on a breadcrumb item will show other items that are considered 'related' to the active item. But, how does crumbdown decide which items are 'related' ?
Paths are 'related' if they share all but one fragment, and have the same wildcard loaders. A crumbdown menu is shown on the breadcrumb item that represents the fragment where both paths are different, unless the item is a MENU_LOCAL_TASK - crumbdown doesn't want to duplicate the tabs.
In addition, modules can define which alternative values should be shown for wildcard loader path fragments.
- "node/add/page" and "node/add/story" are related, because they share all but the last fragment. There are no tabs on these pages, so crumbdown will show a dropdown menu on the last breadcrumb item, to switch between node types.
- "admin/ds/layout/story/teaser" and "admin/ds/layout/page/teaser" are related, because they share all but the second last fragment. So there will be a crumbdown menu on the second last breadcrumb item.
- "admin/ds/layout/story/teaser" and "admin/ds/layout/story/full" are related, because they share all but the last fragment. However, switching between "full" and "teaser" can already be done via the tabs, so we don't show a crumbdown menu on the last breadcrumb item.
- "admin/build/menu-customize/primary-links/add" has the router path "admin/build/menu-customize/%menu/add". There is a crumbdown plugin (included in the package) that returns a list of menus for the %menu fragment. So, we will see a crumbdown menu to switch between different menus.
- There won't be any crumbdown menu for the %node wildcard - the menu would become far too long and unpractical.