This seems to be a simple issue but all the solutions that I know seem to be way too bloated and module heavy.

I have a store with products. Each product has vocabularies:

  • Language
  • Medium
  • Purpose
  • Series

All I want is a menu in the sidebar containing these vocabulary, and the child menu elements will be the taxonomy terms for each.

The first issue I ran against is realizing that vocabulary do not automatically have views for them. (I can't visit /language but can visit /language/swahili ) I tried using taxonomy menu but it only lists the terms, not the vocabulary (parents for each term).

Currently the only solution I see is to restrict the taxonomy to these FOUR vocab, then create a menu for each one, and use taxonomy menu and Menu Block to put them in the sidebar. That just seems like overkill and not extensible for future store additions.

Comments

mcfilms’s picture

What you have outlined is what I did. The site isn't too bloated and it loads fast. Yes, I would have to add new vocabularies for the client, but I don't think you would really want clients to add endless vocabs and terms in the left column anyway. (At least i didn't in my case.)

A list of some of the Drupal sites I have designed and/or developed can be viewed at motioncity.com

finedesign’s picture

I really don't think this is ideal.

Another issue is if the taxonomy is shared with other content types. For example, I have content type: "articles" that also share the "language" vocabulary. This method will list everything.

Also, the menus are not collapsible this way using DHTML menu. I would rather use a tree than separate menus.

goron’s picture

You can use Views for this. Simply create a View that lists taxonomy terms. Add the "Taxonomy vocabulary: Name" field (which will contain, for every term, the vocabulary it belongs to). When you add it (or after by editing that field), select the checkbox to exclude that field from display. Then under Format -> Settings, choose to group by the field we just added. That's all.