Activar elemento padre de menu en paginas hijas

hectorf's picture

El tema es el siguiente.

Tengo creada una página con su menu desde admnistración ylo situo en el primary links, visible en toda la web
Ahora yo genero unos menu_items en un modulo en donde la ruta parte del elemento padre y de tipo callback para devolver un contenido

Ej.

Pagina creada "Página padre", su path "pagina-padre".

Ahora creo los items menu

...
$items["pagina-padre/pagina-hija-uno"] = array (......):
$items["pagina-padre/pagina-hija-dos"] = array (......):
...

Como puedo hacer para que cuando esté en alguna de las hijas el codigo del viculo de la primera aparezca como "active-trail".

La unica manera que he encontrado es creando los vinculos a mano dependientes del viculo padres desde la administracion de menus y poniendolos como disabled. Pero esta solución no me vale porque genero los vinculos dinamicamente dependiendo de los datos de una bd.

Otra es sobrescribiendo el theme_menu_item pero eso solo me funcionaria en el theme que tengo habilitado y no estaría separando la logica del modulo de la del theme.

¿Alguna sugerencia?.

Comments

Vale creo que ya lo tengo, En

hectorf's picture

Vale creo que ya lo tengo,

En el propio callback

...
$path = drupal_lookup_path('source',"ruta-pagina-padre");
menu_set_active_item($path);
menu_execute_active_handler($path);
...

Con el módulo context puedes

Con el módulo context puedes definir que elemento de menú es el activo en función de ciertos parámetros como el path en el que estés. Tal vez te sirva:

http://drupal.org/project/context

Para Drupal 7 tenés Menu

jordi_bcktt's picture

Para Drupal 7 tenés Menu Trail By Path http://drupal.org/project/menu_trail_by_path (no lo he probado)
Para Drupal 6 Menu Trails http://drupal.org/project/menutrails (este lo usé y funciona muy bien)

Madrid

Group organizers

Notificaciones de grupo

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week