Началось с того что для темизации меню 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, и имеем возможность верстать без необходимости переопределять все селекторы меню.
Надеюсь эта маленькая статья поможет сохранить вам немного времени.