Para asignar un tema a la lista desordenada, debe llamar a theme_menu_tree (). Puede editar su template.php para llamar a esto.
function THEMENAME_menu_tree__MENUNAME($variables){
return '<ul class="your-custom-class" id="your-custom-id">' . $variables['tree'] . '</ul>';
}
Luego, si desea crear un tema para sus enlaces, llame a theme_menu_link ().
function THEMENAME_menu_link__MENUNAME($variables) {
$element = $variables['element'];
$sub_menu = '';
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";
}
Ahora, el problema con Drupal 7 es que hay un error importante cuando se trata de mostrar el rastro activo de menús personalizados.
Consulte el problema
Problema n.o 520106: no hay forma de establecer dinámicamente la ruta activa
Problema n.o 942782: los menús personalizados nunca reciben una ruta activa
Básicamente no tienes suerte si quieres algunos menús personalizados verdaderos. Estos problemas son muy antiguos en la comunidad de drupal, por lo que no estoy seguro de si se solucionarán pronto. No sé si hay algún PHP que pueda ayudarlo. Puede recurrir a algunos módulos alternativos para facilitar la funcionalidad, como los atributos del menú y el bloqueo del menú . Ambos pueden ayudar a sortear el sistema de menú cruddy en Drupal 7.