Добавляем уникальный класс для ссылок в пользовательском меню Drupal 7

Опубликовано: 09.10.2017

Автор https://api.drupal.org/comment/13834#comment-13834 предложил решение на мой взгляд несколько мудреное, т.к. не всегда целесообразно производить столько манипуляций для простого добавления уникальных классов к ссылкам пользовательских меню в Drupal 7.

Работаем с template.php

Полезная информация

theme_menu_tree($variables)

theme_menu_link(array $variables)

Для просмотра информации (например, что бы узнать программное имя меню) о меню которое вам необходимо кастомизировать используйте стандартную конструкцию:

// Show variables for the menu_link array function YOURTHEMENAME_menu_link(array $variables) { // return print_r($variables['element']); return print '<pre>' . print_r($variables['element']) . print '</pre>'; }

Условимся на том, что нам необходимо добавить в обертку меню свой класс и присвоить к каждому пункту уникальный класс .

Далее пишем функцию для препроцесса обертки меню если необходимо убрать\добавить свои стили:

function YOURTHEMENAME_menu_tree__menu_NAME(&$variables) { return '<ul class="my-menu-class nav">' . $variables['tree'] . '</ul>'; }

Что бы не мудрить с уникальностью имен воспользуемся теми, что уже есть в базе — mlid

function YOURTHEMENAME_menu_link__menu_NAME(array $variables) { $element = $variables['element']; $sub_menu = ''; // Here we put our uniq class for menu links $element['#attributes']['class'][] = 'my-uniq-class-' . $element['#original_link']['mlid'] . ''; if ($element['#below']) { $sub_menu = drupal_render($element['#below']); } $output = l($element['#title'], $element['#href'], $element['#localized_options']); return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n"; }

Готово!

Новости

Как сбалансировать юзабилити и дизайн при создании сайта — User House
Красота или уродство в веб-дизайне всегда связаны с восприятием конкретного человека. То, что для одного «красиво», может быть «ужасным» для другого и наоборот. Но как же так получается, что многие популярные

Чем лучше юзабилити сайта – тем больше лояльных клиентов
Хотите понять, как посетители воспринимают сайт? Это очень просто. Представьте, что вы говорите по телефону с директором, и в это время вам звонит кто-то из родственников, а у вас еще работы на четыре

Знакомство с юзабилити-тестированием сайта. // webknowledge.ru
Перевод статьи:   An Introduction To Website Usability Testing. Автор:   Thomas Churm. При создании нового сайта необходимо учитывать множество факторов. Для того чтобы у посетителей возникло

Специалист по web-usability – боец невидимого фронта
Ярослав Перевалов Что такое usability engineering? Часто ли вы, бродя по Сети, обращаете внимание на то, насколько качественно структурирована информация на сайте и насколько удобно устроена навигация?

Гид по UX исследованиям для начинающих
В индустрии, в основе которой лежит использование людьми наших продуктов, услуг и приложений, исследования просто необходимы. Мы задаем вопросы. Мы делаем пометки. Мы стараемся узнать все, что возможно,

25 советов как улучшить юзабилити (usability) вашего сайта. | Блог об интернет деятельности и трудовых буднях Максима Вячеславовича
Доброго времени суток, дорогие друзья! Сегодня мы поговорим с вами о такой важной вещи как U sability (юзабилити) сайта , о том, как улучшить данный фактор, зная его основные принципы и правила.

Что такое юзабилити и зачем оно нужно
Юзабилити включает простоту, удобство в пользовании, тестирование, проведение аудита проекта. Юзабилити сайтов, интернет-магазинов — это неотъемлимая часть выгодного ведения бизнеса. Задача юзабилити

Юзабилити тестирование сайта турагентства
«Когда информации много и она дешева, дорогим становится внимание». James Gleick Представим сайт, владелец которого считает его достаточно хорошим, удобным и привлекательным. Он размещает рекламные объявления

Юзабилити
Юзабилити (от англ. слова «usability» – практичность, простота использования) – это весьма распространенное ныне понятие объединяет максимальное удобство использования сайта и полезность информации, на

5 шагов для успешного юзабилити-тестирования приложения
Представьте: вы придумали и разработали мобильное приложение с приятным, на ваш взгляд, дизайном, удобным функционалом, полезными опциями, выпустили релиз продукта, но… Несмотря на мощную маркетинговую

Карта
rss