Crumbdown for D7 should use the crumbs api.
The Crumbdowns will be rendered as a dynamically built menu.
For this to happen Crumbs needs to tell us the children of a path so this issue is blocked by: #2165407: Add findChildren capability to plugins

For a first version the dropdown of a crumb might show its siblings which is well-defined and easy to implement.
Later it should be configurable that children or deep siblings (see #5) are displayed in the dropdown, but this may need some further thought.

Comments

basicmagic.net’s picture

subscribe

dgastudio’s picture

subscribe

klonos’s picture

We now have a D7 version of Crumbs! Let's help polish it.

donquixote’s picture

One basic difficulty I have with Crumbdown is how good or bad it plays with themes.
Almost every theme out there has its own way to deal with breadcrumbs. Crumbs generally tries to respect that, and let the theme do its thing, as if it was a normal system breadcrumb.

With Crumbdown, this approach breaks.
A lot of themes render breadcrumbs as inline elements - link, span, whatever.
However, if Crumbdown dropdowns are rendered as ul+li, then it is not allowed to put them inside the link or span tags.
Even if the breadcrumb items are li elements: If they are set to display:inline, then the dropdown will not be positioned correctly.

Any ideas?

geek-merlin’s picture

Title: Port Crumbdown module to drupal 7 » Port Crumbdown module to drupal 7 and the Crumbs API
Issue summary: View changes

Updated this issue in the light of our last mail conversation:

donquixote wrote:

You might want to look at crumbdown :)
I stopped development of that because
1. it won't be easily supported by themes that have their own theme_breadcrumb and breadcrumb css.
2. it is tricky to find a universal solution to determine child items
3. i was undecided whether to show the children, or the siblings, or the "deep siblings" (*), when you hover an item

(*) "deep siblings":
E.g. you visit admin/structure/types/manage/article/display/full
Breadcrumb: Admin > Structure > Content types > Article > Manage display > Full
You hover "Article" and get a dropdown of "Event", "Page", etc.
You click "Event", and it sends you to
E.g. you visit admin/structure/types/manage/event/display/full

So you get the ../display/full for free.
This is great for "parallel" navigation subtrees.

However, this only works on some pages. Most subtrees don't have a parallel structure.

re 1.:
The new idea i have for this is to not render the thing as a breadcrumb, but as a menu.
So the theme does not even know it is a breadcrumb.
This could be done with menupoly, by defining a new menu tree source based on breadcrumb items and children.

re 2.:
e.g. if you have different menus (or other criteria) then you would have to mix children from different sources.

re 3.:
This could be an option.
I was also thinking if you could have both, e.g. by hovering the separator between items.
Or, have a look at the breadcrumb mechanics in phpstorm!

axel.rutz wrote:

re 1:
i totally agree and thought the same: it's just a dynamically built menu.

re 2&3:
* i also think children or siblings should be an option.
* i think we do NOT need show both - siblings are children of parent.
* i think the plugin should decide if it yields siblings or deep siblings (and maybe have its own configuration for that). for this the children plugin needs access to the whole crumps path.

if we show siblings the selection of the children plugin is simple: take the Plugin that got us the parent.
so if there are different menus you always get the right siblings.

otoh, if we show children, we might show
a) children from the parent plugin from the crumb to the right (showing its siblings)
b) children from plugin with the highest weight
c) children from all sources with separator between them (which might be a meta-plugin)
this might be another configuration option.

for a START i think we should show siblings, children from the corresponding parent plugin.
this looks natural to me and is the most (if not only) well-defined option i see.

klonos’s picture

Great to see some movement here after so long! I really miss this module in D7 and will help with testing.