posted on
Tuesday, May 16, 2006 5:45 PM
HouseMenu è un modulo per DNN che permette di visualizzare l'albero di navigazione dei contenuti con un markup differente dal SolPartMenu incluso in DotNetNuke.
E' molto più leggero (in termini di peso del codice scritto) ed è accessibile, perchè genera il menu con una "banale" lista puntata; n liste annidate se ci sono menu annidati.
L'accensione/spegnimento dei sottomenu è completamente gesita da CSS.
Ma tutta questa potenza è ancora troppa, perchè IE non si comporta affatto bene: infatti lo stesso autore del menù dichiara di non capire alcuni comportamenti strani che si osservano su IE.
Io ne potrei elencare un paio: differenze di applicazione dei css, per le definizioni di altezza, larghezza, padding etc, nonchè il fatto che il menù di secondo livello "sparisce" misteriosamente sotto altri livelli.
Ho cercato di capirne il motivo, ma senza risultato
Ho scritto all'autore, che infatti mi ha confermato lo slittamento del menù di secondo livello. Frequenza randomica, causa ignota, soluzione con accrocchi di varia natura.
E' vero che c'è chi sostiene che tutta l'informatica si basa su accrocchi, ma prima di ricorrervi, vorrei trovare una più solida e confortante soluzione!
Analizzando il codice, come indicatomi dall'autore, mi sono accorta che scrive un html diverso per FF da quello che scrive per IE: infatti per far funzionare su quest'ultimo il menù, l'autore si è inventato un modo curioso, scrivere un IFRAME.
Ed effettivamente funziona, non capisco come, ma funziona.
Il problema è che tutto finisce sotto questo IFRAME e poi si rende necessario ricorrere all'attribuzione dei z-index ai livelli su cui è residente il menù vero e proprio, per far in modo che il menù ritrovi non solo la sua visibilità, ma anche la sua funzionalità ( infatti non solo slitta sotto i livelli che gli sono a fianco, ma le voci che ospita non sono più cliccabili, perchè nascoste dall'IFRAME ).
Alla fine non ne sono uscita come avrei voluto, ma almeno ho ottenuto che il menù fosse usabile su entrambe i browser, anche se il ricorso agli z-index non lo avevo preventivato.
Spero che l'autore, trovi una soluzione più evoluta e stabile in futuro (oppure che il nuovo DNNMenu abbia le stesse funzionalità, ovvero sia possible configurare il primo livello del menu in una barra, ed il secondo e terzo livello in un'altra)