I'm trying to establish two different menus that are very different in appearance. Example: http://cwcs.ysu.edu/proto/inner-page.html

I've successfully incorporated and themed the top navigation menu just like I want, including all of the custom markup and classes to support the superfish drop-downs.

I also want to display a sub-menu on the left that just shows the relevant pages for the directory being viewed--and its presentation is very different from the top navigation menu.

I've created custom/themed versions of the theme_menu_tree, theme_menu_tree_output, and theme_menu_item functions in my template.php file, but the sidebar menu also leverages those menu_tree functions, so the same theming appears for the sidebar menu.

Question: How can I separately theme the top navigation menu and the sidebar menu? I tried a custom module (local_menu) to see if it provided a solution, but it leverages the menu_tree functions, as well, so the same theming is produced. Is there a variable I can set or read that tells me whether the menu is being output in the 'header' block or the 'left' block, so I can conditionally output in each case?

Comments

hferree’s picture

Site looks great.

From what I can tell by your example site you want to edit the subcategory menu on the left? Example: I had a site with a YUI menu on top and a regular drupal menu on the left and they could both be styled separately (I just edited the css tags that I created around the second menu, the YUI menu had its own css to override).

You have id=inner_menu and class=inner_text. Together those two should give you the look that you want and not affect the above menu. So have what works for one and then use !important in the inner menu or text tags to override the specifics for that menu. Use firefox to see what css is used if there is any that is overriding what you want and use it to test the second menu.

if you don't want the bullets for the second menu (won't effect the main because it's in a different tag):

.inner_text {
list-style-image: none !important;
}

Well, there probably is a variable, but unless you've specified the area differently it should be in your content block. Another way to tell is going to admin/build/blocks. The areas will highlight yellow so you can tell where it is. (if you haven't inserted any into your theme div areas, look at one of drupals default themes, I like garland)

Hope that helps.

PS You have a small rollover issue: in Safari you get an odd vertical white area to the right. Its 100% height and about an inch wide when you rollover the main menu Teaching (firefox is fine). Both browsers have the horizontal scrollbar for the site change depending on the rollovers length as it stretches to the right side of the browser window.