Síii!! Funciona!!!
Ya estuve en ese archivo trasteando y de hecho lo manipulé para que me no me añadiera las clases que hacían el efecto "dropdown" que no me interesaba y también estuve manipulando eso que me dices pero como no conseguía que me funcionara lo abandoné.
El caso es que ahora con el link que me ha puesto lo he retomado y he conseguido que me funcione.
Copio y pego el código del archivo menu-link.func.php modificado para que funcione por si alguien se encuentra con mi problema que tenga la solución:
(En el código están comentadas las lineas que hacían que saliera el efecto dropdown, que a mí personalmente no me valía, comento con texto lo que he quitado y he añadido)
AVISO, No soy programador, lo mismo he cometido alguna burrada y aunque a mí me funciona no os fiéis demasiado
Código PHP:
Ver original<?php
/**
* @file
* menu-link.func.php
*/
/**
* Overrides theme_menu_link().
*/
function bootstrap_menu_link
(array $variables) { $element = $variables['element'];
$sub_menu = '';
if ($element['#below']) {
// Prevent dropdown functions from being added to management menu so it
// does not affect the navbar module.
if (($element['#original_link']['menu_name'] == 'management') && (module_exists('navbar'))) {
$sub_menu = drupal_render($element['#below']);
}
elseif ((!empty($element['#original_link']['depth'])) && ($element['#original_link']['depth'] == 1)) { // Add our own wrapper.
unset($element['#below']['#theme_wrappers']);
$sub_menu = '<ul>' . drupal_render($element['#below']) . '</ul>'; //he eliminada la clase "dropdown-menu" (la linea original es la comantada a contineación:
//$sub_menu = '<ul class="dropdown-menu">' . drupal_render($element['#below']) . '</ul>';
// Generate as standard dropdown.
//$element['#title'] .= ' <span class="caret"></span>'; //He comentado esta linea para que no aparezca el Triangulo del "dropdown"
//$element['#attributes']['class'][] = 'dropdown'; //He comentado esta linea para que no añada al la clase "dropdown"
$element['#localized_options']['html'] = TRUE;
// Set dropdown trigger element to # to prevent inadvertant page loading
// when a submenu link is clicked.
$element['#localized_options']['attributes']['data-target'] = '#';
$element['#localized_options']['attributes']['class'][] = 'dropdown-toggle';
$element['#localized_options']['attributes']['data-toggle'] = 'dropdown';
}
//este elseIf es que que permite desplegar el submenu con profundidad 2
elseif ((!empty($element['#original_link']['depth'])) && ($element['#original_link']['depth'] == 2)) { // Add our own wrapper.
unset($element['#below']['#theme_wrappers']); $sub_menu = '<ul>' . drupal_render($element['#below']) . '</ul>'; //he eliminada la clase "dropdown-menu" (la linea original es la comantada a contineación:
//$sub_menu = '<ul class="dropdown-menu">' . drupal_render($element['#below']) . '</ul>';
// Generate as standard dropdown.
//$element['#title'] .= ' <span class="caret"></span>'; //He comentado esta linea para que no aparezca el Triangulo del "dropdown"
//$element['#attributes']['class'][] = 'dropdown'; //He comentado esta linea para que no añada al la clase "dropdown"
$element['#localized_options']['html'] = TRUE;
// Set dropdown trigger element to # to prevent inadvertant page loading
// when a submenu link is clicked.
$element['#localized_options']['attributes']['data-target'] = '#';
$element['#localized_options']['attributes']['class'][] = 'dropdown-toggle';
$element['#localized_options']['attributes']['data-toggle'] = 'dropdown';
}
}
// On primary navigation menu, class 'active' is not set on active menu item.
// @see https://drupal.org/node/1896674
if (($element['#href'] == $_GET['q'] || ($element['#href'] == '<front>' && drupal_is_front_page
())) && (empty($element['#localized_options']['language']))) { $element['#attributes']['class'][] = 'active';
}
$output = l($element['#title'], $element['#href'], $element['#localized_options']);
return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
}
Saludos y muchísimas gracias una vez Mario, te debo unas cuantas ya :)