Кастомизация системным стилей меню в Drupal

Началось с того что для темизации меню Drupal  7 я люблю использовать конструкцию

drupal_attributes($element['#attributes'])

 

преимущество её использования в том что специальными классами подсвечивается всё что может понадобиться: первый, последний, активный, родительский элемент, так же правильно определяются элементы меню любой вложенности.

Но  Drupal имеет неприятную особенность подставлять свои системные стили css мешающие использовать такой вывод меню. В связи с этим путем был найден на мой взгляд наиболее правильный способ избавиться от этих системных стилей (hook_css_alter) в этом случае функция для template.php будет выглядеть так

function mytheme_css_alter(&$css) {
unset($css[drupal_get_path('module', 'system') . '/system.menus.css']);
}

Так мы сохранили все плюсы системной разметки меню, но избавились от системного же css, и имеем возможность верстать без необходимости переопределять все селекторы меню.

Надеюсь эта маленькая статья поможет сохранить вам немного времени.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *