I am struggling to figure out a way to change the menu structure that is printed when I place a menu block in a particular region.

What I want to do is change the classes on the ul when the menu is printed to a sidebar.

Everything I can find, and attempt will change the structure for all menus, but I need to print them differently depending where I put the menu.

Also, I need it to work for any menu I place in the region if possible. I will be creating menus for different areas of the site, and I hope I can get this to work based on the region that the menu is placed in.

Thank you

Comments

akael’s picture

I wanted to clarify that I am creating a custom theme with the Twitter Bootstrap CSS, and I know I can style the menu's with CSS, but it is hard to believe there is no way to accomplish this outside of CSS.

david.a.king’s picture

hi, did you solve this problem?

thanks,
david

akael’s picture

Not yet.

ergunk’s picture

If you add region/block class names or IDs before your menu class names or IDs they can be styled different.

For example, consider your menu's class is .mymenu. You can style it differently by the place of it.

If it is in header:

#header .mymenu {
  color:green;
}

If it is in first sidebar:

#sidebar-first .mymenu {
  color:yellow;
}

If it is in a block which has .myblock class:

.myblock .mymenu {
  color:red;
}


Mediasaur | http://www.mediasaur.com/en | http://twitter.com/mediasaur


Before asking for help, please read this http://slash7.com/2006/12/22/vampires/ and don't be a "Help Vampire". :)
akael’s picture

I understand and don't have a problem styling the menus independently, what I am trying to do though is to change the structure of the html when a menu is printed in a particular region.

Thanks for the help though.