A: 

You could use sections module, or look at how it switches theme for certain menu-items.

berkes
Nice tip, I'll look into it. Tried to vote you up - but I'm still too poor...
David Semeria
No dice. It just switches the entire theme id depending on what section of the site you're in. Thanks anyway...
David Semeria
is that not what you wanted, then?
berkes
Looks like he wanted to edit the output of just one menu. Definitely, a template.php function kinda thing in my opinion.
doublejosh
+1  A: 

I've had mixed success doing template.php menu overrides to force CSS classes and ids or HTML into the output.

You could make use of Block Theme when enabling the menu as a block, but I've never tried it. http://drupal.org/project/blocktheme

If you want to tackle the template way, here are the zen menu override funcitons...

function zen_menu_item_link($link) {
  if (empty($link['localized_options'])) {
    $link['localized_options'] = array();
  }

  // If an item is a LOCAL TASK, render it as a tab
  if ($link['type'] & MENU_IS_LOCAL_TASK) {
    $link['title'] = '<span class="tab">' . check_plain($link['title']) . '</span>';
    $link['localized_options']['html'] = TRUE;
  }

  return l($link['title'], $link['href'], $link['localized_options']);
}

function zen_menu_local_tasks() {
  $output = '';

  if ($primary = menu_primary_local_tasks()) {
    $output .= '<ul class="tabs primary clear-block">' . $primary . '</ul>';
  }
  if ($secondary = menu_secondary_local_tasks()) {
    $output .= '<ul class="tabs secondary clear-block">' . $secondary . '</ul>';
  }

  return $output;
}
doublejosh
Thanks doublejosh, that's helpful.
David Semeria

related questions