Модифицируем html вывод меню в Drupal, добавляем id и class каждому элементу
Для стилизации отдельных пунктов меню не хватает возможности выбрать каждое из них по id или class’у. Для этого можно использовать функции в шаблоне drupal, чтобы указать каждому пункту меню свой id или class.
Для этого достаточно добавить в файл template.php функцию
1 2 3 4 | function MYTHEME_menu_link(array $variables) { $variables['element']['#attributes']['class'][] = 'menu-' . $variables['element']['#original_link']['mlid']; return theme_menu_link($variables); } |
Не забудьте поменять MYTHEME на название своей темы. В данном случае мы получим в итоге такой html вывод меню:
1 2 3 4 5 | <ul class="menu"> <li class="first leaf menu-237"><a href="/map" title="">Карта</a></li> <li class="leaf menu-472"><a href="/" title="" class="active">Место точка</a></li> <li class="last leaf menu-473"><a href="/" title="" class="active">Чем заняться?</a></li> </ul> |
Как видите — теперь у каждого пункта есть class с id каждого пункта меню. Так же можно добавить это в id элемента, кому как удобней.