Menu a due livelli con memoria, come si fa?

9 contenuti / 0 new
Ultimo contenuto
Offline
Drupalitaliano
Iscritto: 17 Feb 2010
Messaggi: 201
Menu a due livelli con memoria, come si fa?

Ho un menu nella forma

Voce 1
--- Voce A
--- Voce B
--- Voce C

Voce 2
--- Voce A
--- Voce B
--- Voce C

Al caricamento della pagina sono visibili solo Voce 1 e Voce 2.
Cliccando su una voce di menu si apre il nodo relativo e sotto la voce selezionata appare il sotto menu (le voci A,B,C)
Cliccando adesso su una sottovoce del menu, si apre il nodo relativo e la voce del menu viene evidenziata come selezionata.

Fin qui nessun problema.

Si da il caso però che nei due sottomenu ci siano dei link condivisi, ovvero che linkano allo stesso nodo.

Cliccando su uno di questi link condivisi tra più menu, come è possibile  rintracciare quale è il menu padre?

<--- Andrea Mancini - biso.it --->

Ritratto di krima
Offline
Drupalista
Iscritto: 23 Dic 2006
Messaggi: 1637

Prova a vedere http://drupal.org/project/superfish o http://drupal.org/project/nice_menus

Offline
Drupalitaliano
Iscritto: 17 Feb 2010
Messaggi: 201

Il problema è che deve rimanere aperto, non serve javascript ma delle classi css che vengano stampate riconoscendo da dove si è arrivati a quel nodo.

<--- Andrea Mancini - biso.it --->

Ritratto di krima
Offline
Drupalista
Iscritto: 23 Dic 2006
Messaggi: 1637

Se lo vuoi aperto basta che vai in amministrazione menu e selezioni come espanso il menu che vuoi rimanga aperto.

Offline
Drupalitaliano
Iscritto: 17 Feb 2010
Messaggi: 201

Se faccio così e ci sono due contenuti figli che linkano le stesso nodo mi apre tutti i menu che contengono quel nodo indipendentemente dal menu per il quale sono passato.

<--- Andrea Mancini - biso.it --->

Ritratto di DarthDrupal
Offline
Drupalitaliano
Iscritto: 26 Mar 2010
Messaggi: 267

questo modulo potrebbe fare al caso tuo?
http://drupal.org/project/menu_breadcrumb

Ritratto di jhl.verona
Offline
Iscritto: 25 Set 2009
Messaggi: 2000

Quanti menù hai?

bisonte_biscottato wrote:
Ho un menu nella forma
...
Si da il caso però che nei due sottomenu ci siano dei link condivisi, ovvero che linkano allo stesso nodo.
Cliccando su uno di questi link condivisi tra più menu, come è possibile  rintracciare quale è il menu padre?

Se hai un menù solo, verrà evidenziato il primo link condiviso (perchè la scansione e dal livello più alto a quello più basso, e dal inizio alla fine della lista)
Se hai più menu, ogniuno verrà evidenziato, ma non c'è informazione per dire quale dei link è stato cliccato.

Ma, se aggiungi un query 'fantasma', tipo /url-di-voce-A?m=voce-1 allora puoi usare questo per capire, senza ingarbugliare Drupal (in codice sarebbe sufficiente un $_GET('m')). Per essere sicuro che funziona (con o senza clean URLS) bisogna fare un override di theme_menu_item_link, vedi http://drupal.org/node/201848

Più imparo, più dubito.

Offline
Drupalitaliano
Iscritto: 17 Feb 2010
Messaggi: 201

jhl.verona wrote:
Quanti menù hai?
Se hai un menù solo, verrà evidenziato il primo link condiviso (perchè la scansione e dal livello più alto a quello più basso, e dal inizio alla fine della lista)
Se hai più menu, ogniuno verrà evidenziato, ma non c'è informazione per dire quale dei link è stato cliccato.

Ma, se aggiungi un query 'fantasma', tipo /url-di-voce-A?m=voce-1 allora puoi usare questo per capire, senza ingarbugliare Drupal (in codice sarebbe sufficiente un $_GET('m')). Per essere sicuro che funziona (con o senza clean URLS) bisogna fare un override di theme_menu_item_link, vedi http://drupal.org/node/201848

La tua soluzione può funzionare.
Io avevo pensato a qualcosa di simile ma creando una tassonomia a copia di ogni menu, così da creare forzatamente la gerarchia contenuto-menu.

Forse questo risolve?
http://drupal.org/project/power_menu

<--- Andrea Mancini - biso.it --->

Ritratto di jhl.verona
Offline
Iscritto: 25 Set 2009
Messaggi: 2000

Non ti seguo bisonte_biscottato, se viene cliccato il link (da uno o l'altro menu item) come fa tassonomia o power_menu a capire quale dei due (o tre, quattro) è stato usato? Dopottutto l'URL è sempre quello...

Più imparo, più dubito.