I have spent days trying to determine a clean way to do the following:
- Display a list of all top-level terms in a vocabulary with links to their child terms
- Upon clicking a link, be taken to a list of the children of those terms.
- Ad infinitum until the lowest-level term, for which a list of nodes tagged with that term will be displayed.
This seems like it would be pretty commonly-needed functionality but I can't find any solution that can handle arbitrary depth, particularly if not all term trees descend to the same depth.
An ideal solution would be one that uses Views 3, Contexts, EntityFieldQueries, or anything else that's well-supported in Drupal 7.
I'm able to do almost exactly what I want by making a simple view with three node:term relationships (term, term's parent, and term's parent's parent) and user those for sequential contextual filters. The only problem with this is that if there's a node with a termpath of too little depth, it gets listed as "uncategorized" and generates a dead link. Instead of doing that I'd like it to link to the next child term available.