Do you have a site that provides multiple ways to get to the same content (for example, each piece of content is associated with several different taxonomy terms)? What if you need to provide a way for the site visitor to go back the way they came?

Follow Me provides an API for keeping track of what views, taxonomy terms, etc.
a user has viewed leading up to viewing the current page.

Consider these e-commerce use cases:

  • Site visitors can drill-down into categories to see what items are there. Each item can be in multiple categories. Product information might be spread out across several pages. You need a way for the site visitor to easily return to the category they selected prior to opening the product page.
  • Site visitors can perform searches for products. Once on a product page, you want to give site visitors a way to get from one of the search results to the next one, without having to go back to the search result page.

This module provides an API to help with these use cases. At present, it does not provide any user-facing functionality (for example, it does not provide breadcrumbs) to help with the use cases, but may provide such functionality in the future. You could, however, use the API exposed by this module to roll your own breadcrumbs functionality.

This module keeps track of the "trail" that a user followed to get to content by adding a from_trail query string parameter to page links. As a user navigates through the site, the module keeps a "trail component" stack in cache bins, representing the path that the user has taken so far. This is preferred to using the session, as it allows site visitors to have multiple tabs open without bleeding context from one to the other.

The API automatically prunes the stack whenever:

  • the user arrives at the site homepage
  • a taxonomy term in the same vocabulary as an earlier taxonomy term in the stack
  • the same view as earlier in the stack

Although useful, this module does have several drawbacks:

  • This module works by pre-processing and modifying links site-wide. Although the module explicitly avoids altering links in the admin interface, any module which hooks into theme_link() necessarily comes with a performance penalty.
  • In general, keeping track of where a user came from before getting to the current page is not normally as helpful to the user experience as indicating to the user where they are in the site structure or guiding the user to other content of interest. See The problem with breadcrumb trails by Michael Smethurst for a great write-up on this topic.

See documentation for more details.

Supporting organizations: 
Original developers
Project sponsor and current developers

Project information

Releases