I template di Joomla! possono essere corredati di parametri per creare, ad esempio, più combinazioni di colore sullo stesso template e così via.
In realtà, avere a disposizione una serie di parametri aggiuntivi per il template apre gli scenari più disparati: poter rendere dinamici valori del foglio di stile ad esempio la larghezza della pagina, al dimensione dei font, ecc.
Si potrebbe decedere di realizzare, ad esempio, un template con due variazioni relative alla posizione di un menu laterale (a sinistra o a destra rispetto al corpo della pagina), ecc
Ebbene, aggiungere al template parametri è semplicissimo:
basta aggiungere nella directory del template un file params.ini contenente su ogni riga la coppia parametro=valore che vogliamo definire.
Ad esempio:
sfondo=#FFFFFF
menu=sinistra
Per “informare” il template dell’esistenza di questo file, andrà aggiunto all’elenco dei file presenti nel file templateDetails.xml del template in questione.
Questi parametri possono essere richiamati da ogni pagina del template con l’istruzione:
<?php echo $this->params->get('sfondo'); ?>
Ma non finisce qui
…possiamo aggiungere il controllo di questi parametri al back-end di Joomla! (dal pannello di modifica del template), aggiungendo al file templateDetails.xml i parametri con i relativi valori possibili, es:
<params>
<param name="sfondo" type="list" default="#FFFFFF" label="Sfondo pagina" description="Definisce il colore di sfondo">
<option value="#FFFFFF">Bianco</option>
<option value="#000000">Nero</option>
</param>
<param name="menu" type="list" default="left" label="Posizione menu" description="Definisce la posizione del menu utente">
<option value="right">Destra</option>
<option value="left">Sinistra</option>
</param>
</params>
In questo modo, oltre a poter gestire questi parametri del back-end di Joomla! senza dover modificare il file params.ini avremo il supporto del database di Joomla! per memorizzare i parametri scelti.
Ovviamente, possiamo definire anche parametri che non prevedono delle opzioni bensì campi aperti.









