Skip to main content

Visualizzare un modulo Joomla al centro della pagina

Nota: a questo post si è aggiunta nel tempo una lunga serie di utili commenti, vi invito a leggerli per ottenere ulteriori informazioni sull’argomento.

Mentre aspettavo gli ospiti per la cena di San Silvestro, avendo un po’ di tempo libero da impiegare (e non avendo voglia di iniziare un videogioco per pochi minuti 🙂 ) ho “navigato” tra i vari link che nel corso dell’anno mi annoto, pronti da leggere appena ho il tempo di farlo. Tra gli altri, ho ritrovato questo post che parla di come creare una mappa del sito su Joomla.

Leggendolo, mi sono subito distratto rispetto all’obiettivo principale, cioè la creazione della mappa del sito: sono stato invece colpito dall’uso della funzione “loadposition” all’interno del corpo dell’articolo. Sembrava proprio quello che stavo cercando negli ultimi tempi! Ho subito attivato il mio sito Joomla di test, e mi sono messo a fare qualche prova. E’ proprio così. Ora vi spiego.

Uno dei problemi concettuali da risolvere quando si affronta Joomla per la prima volta è distinguere tra i componenti e i moduli. I primi infatti sono responsabili del contenuto principale della pagina, caricato solitamente al centro. I secondi invece sono varie funzionalità aggiuntive, in alcuni casi in sola lettura, in altri casi interattive, posizionati in vari punti della pagina grazie all’interazione con un apposito template.

Risolta questa distinzione, presto o tardi uno arriva a chiedersi: come posso caricare un modulo come contenuto principale della pagina? Fino a pochi giorni fa, la migliore soluzione che io avevo trovato era quella di:

  • creare un articolo vuoto e farlo puntare da una voce di menu;
  • creare il modulo e posizionarlo subito sopra l’articolo (la maggior parte dei template offre una posizione di questo tipo, in caso contrario possiamo comunque crearcela da noi);
  • visualizzare il modulo solo per la voce di menu corrispondente all’articolo.

In questo modo, la voce di menu apre un articolo vuoto, quindi solo il modulo resta visibile. Tale modulo, inoltre, è visibile solo in questa pagina, per cui di fatto la voce di menu diventa associata al modulo.

loadposition

La soluzione proposta sopra, evidentemente, non è elegantissima. Qualcun altro del team Joomla deve essere giunto prima di me alla stessa conclusione, e ha creato la funzione loadposition. Praticamente, inserendo nel corpo dell’articolo la dicitura

{loadposition nomeposizione}

carichiamo i moduli pubblicati associati a tale posizione.

Una cosa ancora più interessante è che tale posizione può anche essere fittizia, cioè non effettivamente presente nel template, ed essere usata quindi solo per identificare il modulo o i moduli che vogliamo fare vedere nell’articolo.

Ad esempio, supponiamo di aver creato un modulo personalizzato che mostra il calendario, ma che ora voglio visualizzare come contenuto principale della pagina. Creo quindi un articolo che contiene solo la scritta

{loadposition calendario}

Notare che “calendario” non fa parte delle posizioni offerte dal mio template. Per cui quando vado a modificare il modulo, non troverò tale posizione nella lista. Dovrò invece scriverla, nel campo posizione, ignorando tale lista.

A questo punto, con una voce di menu che punta all’articolo creato, vedrò il mio modulo calendario al centro della pagina.

UPDATE: per utilizzare la funzione illustrata deve essere attivo il plugin Content – LoadModule. A me pare che nelle versioni precedenti di Joomla fosse attivo per default, ma perlomeno dalla versione 1.5.9 in poi va abilitato a mano dalla Gestione Plugin.

Commenti (86)

I commenti sono chiusi.