Замена пунктов меню изображениями

8

Я ищу способ отображения пунктов меню в виде изображений (с опрокидыванием), а не обычные текстовые ссылки. Я нашел модуль Menu Icons , но, как видно из названия, он предназначен для размещения значка рядом со ссылкой. У кого-нибудь есть техника для этого? Возможно, мне нужно создать какой-то пользовательский блок или панель, но я подумал, может быть, есть более простой способ.

user379468
источник

Ответы:

7

Вы можете использовать модуль « Иконки меню » для реализации нужной вам функции - я делал это несколько раз.

Вам просто нужно настроить файл 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 в своей теме, не нуждаясь в вспомогательном модуле, таком как значки меню.

sheena_d
источник
Спасибо, отлично работает (PS Я использую Fusion Starter в качестве базового шаблона)
user379468
Я люблю видеть людей, использующих Fusion! : D
sheena_d