Modulo Extended menu per creare menu a discesa PDF Stampa E-mail
(2 - voti utente)
Martedì 24 Febbraio 2009 14:11

extended_menuIl modulo che andiamo a presentare consente di sostituire il modulo standard di joomla per la visualizzazione dei menu permettendo di creare dei submenu a cascata che si aprono al solo passaggio del mouse.

Il modulo extended-menu-module-1.0.5 è scaricabile a questo indirizzo oppure dal sito ufficiale
E' necessario scaricare anche uno dei template che si trovano a questo indirizzo

Per questa miniguida faremo riferimento al template '''son-of-suckerfish-horizontal-1.0.2.zip''' per la formattazione orizzontale del menù. Nella stessa pagina dei template troverete la spiegazione (in lingua inglese) della sua installazione.

Installazione


L'installazione del modulo è semplice. Basta seguire le modalità di installazione di tutti i modulo di Joomla. al termine dell'installazione troverete il modulo Extended menu nella lista dei modulo (Estensioni -> Gestione Moduli).

Dopo aver installato il modulo è necessario decomprimere il contenuto del template ''son-of-suckerfish-horizontal-1.0.2.zip'' nella cartella '''extmenu''' da creare all'interno della cartella del template di joomla che si vuole utilizzare per il sito.
Nella cartella extmenu si troveranno i seguenti file:

 menu.html               : il template che realizza il menu a discesa
menu.ini : un file di configurazione
\css\menu.css : il foglio di stile per formattare graficamente
il menu
\js\menu.js : uno script javascript per l'animazione del menu
\images\arrow_down.gif : un'immagine per indicare i menu che possiedono
dei submenu aperti
\images\arrow_right.gif : un'immagine per indicare i menu che possiedono
dei submenu


Fatto questo è necessario ''modificare il file index.php'' del template di joomla che vogliamo usare aggiungendo, proprio sotto le righe che richiamano il foglio di stile del template (nella sezione header), la seguente riga:

<link rel="stylesheet" href="/templates//extmenu/css/menu.css" type="text/css" />


Questo permetterà al template di Joomla di recepire le indicazioni di formattazione del foglio di stile del modulo Extended menu.

Configurazione


Prima di configurare il modulo bisogna aver creato un normale menu con la gestione menu di Joomla. Il modulo Extended menu infatti utilizza la struttura di un menu esistente per visualizzarla con un formato grafico diverso. Supponiamo di aver già realizzato il menu '''topmenu''' (che è anche il menu già presente nella installazione standard di Joomla) e lo sostituiremo con l'Extended menu.

Per configurare il modulo Extended menu bisogna visualizzare la lista dei moduli e, individuato il modulo, cliccarci sopra. Compariranno le impostazioni del modulo.

I parametri da modificare sono i seguenti:

Menu class suffix : -suckerfish
Menu name         : topmenu
Source type       : menu
Menu style        : Horizzontal
Template name     : extmenu/menu.html
La descrizione di tutti i parametri la troverete a questo indirizzo

Applicazione


Terminata la configurazione si dovrà disattivare il modulo standard di Joomla che crea il menu topmenu e sostituirlo con il modulo Extended menu nella stessa posizione nel template che occupava il topmenu

Foglio di stile


Il foglio di stile menu.css è suddiviso in due sezioni: la prima inizia al commento /** customize colors here */ e contiene le proprietà delle classi che formattano graficamente il menu. Per default il menu comparirà di colore rosso, i submenu di primo livello verdi e quelli di secondo livello blu.
Dal commento /** customize style / layout here */ invece cominciano le impostazioni che riguardano dimensioni e posizione del menu.
Quelle imporanti sono le seguenti:

Per aumentare l'altezza del menu

alla '''riga 50''' del foglio di stile
modificare nella classe a.mainlevel-suckerfish-horizontal il valore della proprietà height

per spostare orizzontalmente e verticalmente i submenu di primo livello modificare la classe

'''alla riga 140 del foglio di stile'''

ul.mainlevel-suckerfish-horizontal li > ul {
top: 1.65em;
left: auto;
}

modificando il valore della proprietà top si potrà alzare/abbassare il submenu, modificando il valore della propietà left lo si potrà spostare orizzontalmente.

per spostare orizzontalmente e verticalmente i submenu di secondo livello modificare la classe

'''alla riga 128 del figlio di stile'''

ul.mainlevel-suckerfish-horizontal li li ul {
left: 10em;
top: 0;
}

modificando il valore della proprietà top si potrà alzare/abbassare il submenu, modificando il valore della propietà left lo si potrà spostare orizzontalmente.

Fate attenzione a che tra il submenu di primo livello e quello di secondo livello non vi sia troppo spazio vuoto o sarà difficile usare i submenu di secondo livello.

Risolvere i problemi di allineamento / malfunzionamento
del menù su Internet Explorer 7 (IE7)


Se notate un disallineamento dei sub-menù suckerfish utilizzando Internet Explorer allora trovate questa dichiarazione file ''menu.css'':

a.mainlevel-suckerfish-horizontal, a.mainlevel_active-suckerfish-horizontal, a.mainlevel_current-suckerfish-horizontal, span.mainlevel-suckerfish-horizontal {
float: left;
width: auto;
}

ed ''eliminate'' la riga n.69:

float: left;

o in alternativa ''commentatela'' (rendendola così inattiva ma preservando il codice):

/*float: left;*/Quindi in definitiva la dichiarazione risultante è questa:

a.mainlevel-suckerfish-horizontal, a.mainlevel_active-suckerfish-horizontal, a.mainlevel_current-suckerfish-horizontal, span.mainlevel-suckerfish-horizontal {
width: auto;
}
Questa modifica è stata '''testata con successo''' sui seguenti browser:

*Internet Explorer 7.0.6001.18000
*Firefox 3.0.6
*Google Chrome 1.0.154.48
*Safari 3.2.1 (525.27.1)
*Opera 9.63 (build 10476)

Grafica al posto dei colori.


Se si desidera utilizzare della grafica al posto dei semplici colori basta sostituire tutte le proprietà background-color con la proprietà backgroung-image e il riferimento all'immagine da utilizzare.

Tenete presente che le classi che terminano con '':hover'' definiscono l'aspetto del menu quando il mouse vi passa sopra, con '':link'' l'aspetto normale di visualizzazione del menu e con '':visited'' l'aspetto del menu quando viene cliccato con mouse.

Questa guida è stata pubblicata sul wiki di Joomla.it

Commenti

avatar luisa
0
 
 
Grazie a te e a tutti quelli che si prendono la briga o la passione di aiutare chi come me vuole farsi un bel template ma non ci riesce con Joomla.......Grazie infinite e sei molto chiaro nelle spiegazioni.........Luisa
B
i
u
Quote
Code
List
List item
URL
Nome *
Email (per verifiche & Rrisposte)
URL
Codice   
ChronoComments by Joomla Professional Solutions
Invia Commento
Annulla
avatar Micaela
0
 
 
Ho usato questa estensione e vorrei riuscire a mettere i submenu sotto la voce di menu corrispondente, in realtà ho il menu di primo livello a destra e appena clicco su una voce di menu il submenu mi spunta a sinistra. io ho un template fatto da me! qualcuno sa aiutarmi? il sito è questo qui http://www.studiogaudiosi.it/

Grazie
B
i
u
Quote
Code
List
List item
URL
Nome *
Email (per verifiche & Rrisposte)
URL
Codice   
ChronoComments by Joomla Professional Solutions
Invia Commento
Annulla
avatar BigHam
0
 
 
Ciao Micaela
Nell'articolo c'è un paragrafo che spiega come spostare orizzontalmente i submenù di secondo livello. Hai provato a modificare la classe del foglio di stile indicata? Prova a modificare i valori delle proprietà left e top e vedi cosa succede
B
i
u
Quote
Code
List
List item
URL
Nome *
Email (per verifiche & Rrisposte)
URL
Codice   
ChronoComments by Joomla Professional Solutions
Invia Commento
Annulla
avatar Salvatore
0
 
 
Ciao, avrei un problema col Menu Extended di joomla. L'ho istallato (componente e modulo) col template suckerfish-vert ical-1.0.1 e posizioneto in posizione left. Funziona ma mi da un problema:
i sub menu vengono tagliati! E' come se la "sidebar left" imponga al menu una larghezza massima oltre cui non si può andare!!! Vorrei che i sub menu (ho 3 livelli di categorie)ovviamente fossero sempre in primo piano!!!
Cosa devo modificare?
Ti ringrazio anticipatamente per un tuo eventuale consiglio!!!
Salvatore
B
i
u
Quote
Code
List
List item
URL
Nome *
Email (per verifiche & Rrisposte)
URL
Codice   
ChronoComments by Joomla Professional Solutions
Invia Commento
Annulla
avatar BigHam
0
 
 
Ciao Salvatore.
In linea di massima potresti provare a modificare (o aggiungere) nel foglio di stile la proprietà z-index per le classi che formattano i submenù. Se già presente puoi provare a modificarne il valore aumentandolo.
Prova ad usare l'addon di Firefox Firebug per analizzare il codice html della pagina.
Poi ogni template è diverso quindi è difficile dare dei consigli alla cieca ;-)
B
i
u
Quote
Code
List
List item
URL
Nome *
Email (per verifiche & Rrisposte)
URL
Codice   
ChronoComments by Joomla Professional Solutions
Invia Commento
Annulla
B
i
u
Quote
Code
List
List item
URL
Nome *
Email (per verifiche & Rrisposte)
URL
Codice   
ChronoComments by Joomla Professional Solutions
Invia Commento