invece di definire la classe .left in un foglio di stile assegnandola poi al tag come abbiamo visto in precedenza.
Trasformare la pagina html in un template
Bene. Adesso dovremmo avere un pò più chiaro come posizionare delle aree contenitore in una pagina html. Come facciamo adesso a trasformarle in contenitori per moduli e contenuti di Joomla?
Non è un caso se questi semplici contenitori li ho chiamati con dei nomi che già conosciamo. Usando Joomla abbiamo già visto che esistono le cosiddette "zone modulo" nelle quali è possibile posizionare appunto i moduli.
Nel core di Joomla sono state costruite delle funzioni particolari che permettono di inserire in un contenitore html i moduli installati nel sito.
Ecco come si presenta il codice html scritto in precedenza trasformato per essere usato come template di Joomla.
Quando il template viene richiamato per essere riempito con i contenuti dinamici prelevati dal database Joomla si aspetta di trovare la funzione
per poter posizionare gli oggetti (moduli e contenuti) all'interno della pagina. Con il parametro type diciamo a Joomla che tipo di oggetto deve inserire in quella posizione mentre con il parametro name diciamo a Joomla come si chiama quella posizione. Questa funzione crea una zona modulo.
Ad esempio, se nel nostro sito abbiamo dichiarato nel frontend, dalla gestione moduli, che i moduli mod_mainmenu e mod_login sono posizionati nella zona moduli left Joomla cercherà nel template la funzione e la sostituirà con il codice html corrispondente ai due moduli.
E così la funzione verrà sostituita dai contenuti (gli articoli) prelevati dal database.
E' chiaro che il template che abbiamo scritto è solo a titolo esemplificativo. Ma se lo confrontate con un qualsiasi template vedrete che, in fin dei conti, le cose non sono molto diverse. Le zone modulo vengono realizzate aggiungendo ad una pagina html, opportunamente costruita, le funzioni del core di Joomla realizzate per essere poi sostituite dai contenuti/moduli/componenti installati nel sito.
Ogni zona ha un nome che serve da riferimento quando, nel backend di Joomla, dichiariamo la disposizione dei moduli.
I nomi delle zone modulo sono elencati nel file templateDetails.xml. Nel nostro caso questo file si presenterà così:
Aggiungiamo una nuova zona modulo al template
Se volessimo aggiungere una nuova zona moduli nel nostro template di esempio (per esempio la zona debug) dovremmo operare come segue:
1) scrivere il codice html che crei un nuovo contenitore nella struttura della pagina e inserirvi all'interno la funzione jdoc assegnando al parametro name il nume della nuova zona modulo
2) modificare il foglio di stile creando una classe per formattare graficamente il nuovo contenitore e per posizionarlo adeguatamente rispetto agli altri contenitori adiacenti
3) aprire il file templateDetails.xml ed aggiungere la nuova zona moduli
Sul nome da assegnare ad una nuova posizione moduli consiglio di utilizzare i nomi comunemente usati nei template per Joomla. Denominare una posizione moduli con nomi di fantasia (pippo, pluto, paparino) non rende il template utilizzabile da nessuno se non da noi.
Scritto da Cosimo Baviera (aka BigHam)
Commenta questo articolo sul forum