redfieldone
@redfieldone
Старый , лысый и без денег.

Как добавить дочерному ul класс?

Добрый день. Интересует собственно вопрос :
Я создал мега меню но один класс для ul пришлось определить в jquery но меня это не очень устраивает потому что пока страница загружается , то , выглядит противно.
Я находил данную функцию
function имя_menu_tree__main_menu($variables) {
  return '<ul class="каокй-то класс">' . $variables['tree'] . '</ul>';
}

Но она добавляет класс только главному ul элементу.
Подробнее на картинке :
4Ak3y50Sbkz8Aq.jpg

Так же я пробовал модуль menu atribute , но он может добавить классы только тегам a и li
Спасибо большое =)
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ответы на вопрос 1
drupby
@drupby
Нужно в template.php файл темы добавить примерно такой код
function ИМЯТЕМЫ_menu_link__ИМЯМЕНЮ($variables) {
  $element = $variables['element'];
  $sub_menu = '';
  // Задаем условие по пункту меню 
  if ($element['#original_link']['mlid'] == 482) {
    // Указываем функцию темизации
    $element['#below']['#theme_wrappers'] = array('menu_tree__one_link');
  }

  if ($element['#below']) {
    $sub_menu = drupal_render($element['#below']);
  }
  $output = l($element['#title'], $element['#href'], $element['#localized_options']);
  return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
}
function ИМЯТЕМЫ_menu_tree__one_link($variables) {
  return '<ul class="myclass">' . $variables['tree'] . '</ul>';
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы