This project is not covered by Drupal’s security advisory policy.

Breadcrumbs by path is a light weight module which simply builds breadcrumb trails based on a URL alias. The intended use of this module is when the site is built to have only hackable URLs.

For example, let's say you have a URL like this:
blog/2012/04/03/my-super-awesome-blog

If you have a view which has the path of "blog" and takes arguments for the dates, then your breadcrumb will be built as "blog > 2012 > 04 > 03". You can then click on any of those links, then when you're at blog/2012/04/03, for example, your breadcrumb will be the same as before but without the 03. If you want the title to show in the breadcrumb, simply use any of the available theming methods to do so in your theme.

The module first looks for a valid path alias and uses that, it next looks for valid menu items and if it finds one, it will use the last argument that was passed to that menu item, then recurse through the rest of the path looking for more valid paths.

Breadcrumb titles will use the page title if available in the menu system. If that's the case, the argument is cleaned so that hyphens and underscores become spaces and the first letter is capitalized so that "my-tag" will be converted to "My tag".

Limitations

Because menu items can take an unlimited number of arguments at the end and this module is just looking at path aliases and the menu system (which it does for speed), it is entirely possible that it will return breadcrumbs to invalid pages. For example, if blog/2012 is a valid views page, but blog/2012/04 is not a valid page for some reason, there could be a problem.

Future development

At the time of release, this module will operate on every page load. If anyone finds this module useful but wants it to only operate on certain pages, please contact me and we can add that as a configuration option.

opdavies: This was committed to 7.x-1.x-dev on 15th February 2013.

Accessibility

For accessibility, it is recommended that the breadcrumb is displayed in an ordered list. Something like:

<ol class="breadcrumb">
  <li><a href="/" title="Return to the Home page">Home</a></li>
  <li><a href="/news" title="Latest news articles">News</a></li>
  <li><a href="/news/2013" title="Latest news articles from 2013">2013</a></li>
  ...
</ol>

This can be achived by using an override for theme_breadcrumb() within your theme's template.php file.

Module by: Ingram Innovation

Project Information

Downloads