Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/02/2014, 06:48
JustinKO
 
Fecha de Ingreso: junio-2012
Ubicación: Madrid
Mensajes: 339
Antigüedad: 12 años, 2 meses
Puntos: 47
Respuesta: No aparece menú de segundo nivel en bootstrap

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
  1. <?php
  2. /**
  3.  * @file
  4.  * menu-link.func.php
  5.  */
  6.  
  7. /**
  8.  * Overrides theme_menu_link().
  9.  */
  10. function bootstrap_menu_link(array $variables) {
  11.   $element = $variables['element'];
  12.   $sub_menu = '';
  13.  
  14.   if ($element['#below']) {
  15.     // Prevent dropdown functions from being added to management menu so it
  16.     // does not affect the navbar module.
  17.     if (($element['#original_link']['menu_name'] == 'management') && (module_exists('navbar'))) {
  18.       $sub_menu = drupal_render($element['#below']);
  19.     }
  20.     elseif ((!empty($element['#original_link']['depth'])) && ($element['#original_link']['depth'] == 1)) {
  21.       // Add our own wrapper.
  22.       unset($element['#below']['#theme_wrappers']);
  23.      
  24.       $sub_menu = '<ul>' . drupal_render($element['#below']) . '</ul>'; //he eliminada la clase "dropdown-menu" (la linea original es la comantada a contineación:
  25.        //$sub_menu = '<ul class="dropdown-menu">' . drupal_render($element['#below']) . '</ul>';
  26.        
  27.       // Generate as standard dropdown.
  28.       //$element['#title'] .= ' <span class="caret"></span>'; //He comentado esta linea para que no aparezca el Triangulo  del "dropdown"
  29.       //$element['#attributes']['class'][] = 'dropdown'; //He comentado esta linea para que no añada al la clase "dropdown"
  30.       $element['#localized_options']['html'] = TRUE;
  31.  
  32.       // Set dropdown trigger element to # to prevent inadvertant page loading
  33.       // when a submenu link is clicked.
  34.       $element['#localized_options']['attributes']['data-target'] = '#';
  35.       $element['#localized_options']['attributes']['class'][] = 'dropdown-toggle';
  36.       $element['#localized_options']['attributes']['data-toggle'] = 'dropdown';
  37.     }
  38.    
  39.    
  40.         //este elseIf es que que permite desplegar el submenu con profundidad 2
  41.         elseif ((!empty($element['#original_link']['depth'])) && ($element['#original_link']['depth'] == 2)) {
  42.       // Add our own wrapper.
  43.       unset($element['#below']['#theme_wrappers']);
  44.           $sub_menu = '<ul>' . drupal_render($element['#below']) . '</ul>'; //he eliminada la clase "dropdown-menu" (la linea original es la comantada a contineación:
  45.        //$sub_menu = '<ul class="dropdown-menu">' . drupal_render($element['#below']) . '</ul>';
  46.        
  47.       // Generate as standard dropdown.
  48.       //$element['#title'] .= ' <span class="caret"></span>'; //He comentado esta linea para que no aparezca el Triangulo  del "dropdown"
  49.       //$element['#attributes']['class'][] = 'dropdown'; //He comentado esta linea para que no añada al la clase "dropdown"
  50.       $element['#localized_options']['html'] = TRUE;
  51.  
  52.       // Set dropdown trigger element to # to prevent inadvertant page loading
  53.       // when a submenu link is clicked.
  54.       $element['#localized_options']['attributes']['data-target'] = '#';
  55.       $element['#localized_options']['attributes']['class'][] = 'dropdown-toggle';
  56.       $element['#localized_options']['attributes']['data-toggle'] = 'dropdown';
  57.     }
  58.   }
  59.   // On primary navigation menu, class 'active' is not set on active menu item.
  60.   // @see https://drupal.org/node/1896674
  61.   if (($element['#href'] == $_GET['q'] || ($element['#href'] == '<front>' && drupal_is_front_page())) && (empty($element['#localized_options']['language']))) {
  62.     $element['#attributes']['class'][] = 'active';
  63.   }
  64.   $output = l($element['#title'], $element['#href'], $element['#localized_options']);
  65.   return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
  66. }

Saludos y muchísimas gracias una vez Mario, te debo unas cuantas ya :)