theme_menu_item как применить только для одного меню

Главные вкладки

Аватар пользователя Goodseeker Goodseeker 4 августа 2011 в 15:09

Делаю тему на основе темы Basic
в template.php уже есть функция

<?phpfunction basic_menu_item($link, $has_children, $menu = '', $in_active_trail = FALSE, $extra_class = NULL) {
  $class = ($menu ? 'expanded' : ($has_children ? 'collapsed' : 'leaf'));
  if (!empty($extra_class)) {
    $class .= ' '. $extra_class;
  }
  if ($in_active_trail) {
    $class .= ' active-trail';
  }
#New line added to get unique classes for each menu item
  $css_class = basic_id_safe(str_replace(' ', '_', strip_tags($link)));
  return '<li class="'. $class . ' ' . $css_class . '">' . $link . $menu ."</li>\n";
}?>

Где прописать div чтобы каждый пункт меню оборачивался дивом понял.
Но эта функция работает для всех меню сразу.

Никак не могу врубиться, чего куда вписать, чтобы эта функция применялась только к одному меню

Пробовал $menu = 'menuname' - не помогает.
Может я вообще не там копаю?

Комментарии

Аватар пользователя Plazik Plazik 4 августа 2011 в 15:47

Только вчера искал решение этой проблемы, правда под семерку.
Там нужно было к basic_menu_item в конце добавь машинное имя меню и тогда данный код работал только для него. Поищите на d.org

Аватар пользователя Goodseeker Goodseeker 4 августа 2011 в 17:08

http://drupal.org/node/229205
Интересно, в этой ветке похоже сказано, что прямого решения для шестерки нет. Sad
Более-менее подходящий вариант, сделать мое меню секондари-линксами, и тогда оно выделяется отдельно.