Иконки для меню или графические кнопки

Главные вкладки

Аватар пользователя pvb-d pvb-d 21 декабря 2008 в 3:58

Периодически на форуме возникают вопросы о том как делать иконки для меню или меню из графических кнопок
Есть несколько вариантов решения:
- вручную темизировать menu_item по примеру http://www.nicklewis.org/node/843
- или использовать сторонние модули (например [module=imagemenu])

Здесь я опишу как это можно реализовать с помощью модуля [module=imageset] в сязке с menuicon (http://www.drupal.ru/node/21545)

Сделаем меню с иконками аля Drupal.ru

1) готовим набор иконок в графическом редакторе

2) в настройках (mysite/admin/settings/imageset) создаем новый imageset
- имя: item
- размер: 9x9
- ориентация: вертикальная
- ставим галку Fix PNG, если хотим для IE6 правильной прозрачности
- прикрепляем приготовленный набор

3) в настройках селекторов (mysite/admin/settings/imageset/selectors) создаем 3 записи (по количеству состояний):
1. состояние для развернутого меню
- селектор: li.expanded
- вес: 0
- imageset: item
- вариант: 1
2. для свернутого
- селектор: li.collapsed
- вес: 1
- imageset: item
- вариант: 3
3. и для отдельного пункта
- селектор: li.leaf
- вес: 2
- imageset: item
- вариант: 2

4) В настройках Menuicon.icons (mysite/admin/settings/imageset/menuicon-icons) свяжем адрес меню с нужной иконкой
Path: / - иконка будет связана с корнем сайта
Imageset: item
Index: 1
Type: Icon (есть вариант Button для менюшки-кнопки)
Inherit: поставить галку (эта иконка будет применяться для всех вложенных путей)

В итоге получим

Здесь приведен пример с одной иконкой для различных состояний
аналогично можно создать набор с иконками для разных путей

Комментарии

Аватар пользователя gagaga gagaga 14 января 2009 в 12:16

Спасибо.
Я сделала для каждого пункта меню свою картинку. Но получилось немного не так. Этим модулем мы прикрепляем картинку не к пункту, а к пути. Получилось, что для страницы профиля путь user/* , но с таким путем есть и другие ссылки, например user/*/edit. В итоге, все остальные ссылки такого типа имеют одинаковую картинку.
Как можно этого избежать? Все-таки нужно, чтобы картинка была только в меню.