Вы здесь

Добавление значков для ссылок в меню

Версия системы: 
Друпал 5

Этот код будет создавать уникальный ID для каждого пункта меню, что позволит применять CSS, jQuery и другие техники только к конкретному пункту. Добавьте этот код в файл template.php:

<?php
function phptemplate_menu_item($mid, $children = '', $leaf = TRUE) {
 
$link = menu_item_link($mid);
 
$css_id = strtolower(str_replace(' ', '_', strip_tags($link)));
  return
'<li id="' . $css_id . '" class="' . ($leaf ? 'leaf' : ($children ? 'expanded' : 'collapsed')) .'">'. $link . $children ."</li>\n";
}
?>

Пример использования CSS (добавление значка):

li#my_account a{
background-image:url(../mytotallysweeticons/my_account.png);
}

Этот документ, упрощённая версия документа написанного Nick Lewis.

Дополнительные модули

  • Menu attributes — установка атрибутов пунктов меню
  • Menu Icons — назначение значков пунктам меню
  • Taxonomy Image — назначение изображения термину
  • Taxonomy Menu — навигация по терминам таксономии

Комментарии

Изображение пользователя Павел

не рабоатет:
Fatal error: Call to undefined function menu_item_link() in

есть идеи?

Изображение пользователя drupal.org.ru

На орге для D6 предложили попробовать такое:

<?php
 
function phptemplate_menu_item($link, $has_children, $menu = '', $in_active_trail = FALSE, $extra_class = NULL) {

   
$search = array(' ','.');
   
$css_id = strtolower(str_replace($search, '_', strip_tags($link)));
    return
'<li id="' . $css_id . '" class="' . ($menu ? 'expanded' : ($has_children ? 'collapsed' : 'leaf')) .'">'. $link . $children ."</li>\n";
  }
?>

или модули