Вы можете использовать модуль « Иконки меню » для реализации нужной вам функции - я делал это несколько раз.
Вам просто нужно настроить файл menu_icons_css_item.tpl.php таким образом, чтобы изображение отображалось с использованием техники замены изображений CSS , а не для позиционирования изображения в виде пиктограммного фона. Для функции пролонгации каждое изображение, которое вы загружаете с помощью модуля значков изображений, должно включать статическую и пролонгированную версии изображения меню.
Вот пример содержимого файла menu_icon_css_item.tpl.php, который я использовал ранее. Это для Drupal 6, поэтому некоторые синтаксис может потребоваться обновить, если вы используете Drupal 7.
<?php
$base_url = $_SERVER['DOCUMENT_ROOT'];
$image_info = getimagesize($base_url.$path);
$width = $image_info[0];
$height = $image_info[1]/2;
?>
ul.links li.menu-<?php print $mlid ?> a {
background-image: url(<?php print $path ?>);
background-repeat: no-repeat;
background-position: 0 0;
height:<?php print $height?>px;
text-align: left;
text-indent: -9999px;
width: <?php print $width?>px;
}
ul.links li.menu-<?php print $mlid ?> a:hover {
background-position: 0 <?php print $height?>px;
}
После того как вы создали в своей теме файл клиента menu_icons_css_item.tpl.php, вам нужно будет удалить CSS-файл, который ранее был создан модулем значков меню, чтобы он сгенерировал новый файл с использованием этого шаблона. Он должен быть в вашей папке sites / default / files.
Конечно, если вам не нужно разрешать администраторам сайта обновлять изображения пунктов меню через пользовательский интерфейс Drupal, вы можете просто внедрить технику замены изображений CSS в своей теме, не нуждаясь в вспомогательном модуле, таком как значки меню.