Gli Output Override di Joomla
L’override è una tecnica che permette di personalizzare completamente il codice generato dai moduli e dai componenti, senza modificare il codice del core di Joomla.
Questa funzionalità è molto potente e lascia al designer il completo controllo sull’effettivo aspetto di ogni dettaglio della pagina.
Il funzionamento è semplice: Joomla è progettato in modo che rispetti il design pattern MVC, il che significa che è possibile modificare la presentazione di un componente senza toccare la parte che definisce la sua funzionalità.
Prendiamo per esempio il componente com_content, che si occupa della gestione del contenuto.
JOOMLA/components/com_content/
La cartella contiene diversi file necessari per il corretto funzionamento di questo componente, ed in questo momento ci interessa particolarmente la cartella views.

Come vediamo sono definite una serie di viste, ovvero la vista degli archivi, la vista di un articolo singolo, la vista di una categoria, la pagina iniziale e la vista di una sezione.
Queste cartelle contengono dei file che definiscono come deve essere presentato il contenuto nel browser dell’utente.
Quando definiamo una voce di menu relativa al componente com_content, abbiamo la possibilità di scegliere che tipologia di vista deve mostrare, come possiamo notare nell’immagine indicata.

Il concetto su cui si basa l’output override è ricreare nel nostro template una parte della struttura di questa cartella, ed i file che sono presenti vanno a sostituire i file che Joomla fornisce di default.
Per cui volendo ridefinire l’aspetto di presentazione di un articolo singolo, creiamo la struttura
TEMPLATE/html/com_content/article/
In questa cartella copiamo il file
JOOMLA/components/com_content/views/article/tmpl/default.php
Una volta copiato questo file, modificandolo il sito rifletterà i cambiamenti apportati.
Dobbiamo svolgere la medesima operazione se vogliamo ad esempio modificare il modo in cui sono visualizzati i sondaggi: creiamo la cartella
TEMPLATE/html/com_poll/poll/
e vi copiamo il file
JOOMLA/components/com_poll/views/poll/tmpl/default.php
Se invece vogliamo modificare la pagina che mostra i risultati del sondaggio, copiamo il file
JOOMLA/components/com_poll/views/poll/tmpl/default_graph.php
e lo modifichiamo.
Il template di default Beez è una grande fonte di ispirazione quando si parla di output override, infatti esso è concepito come un template totalmente tableless, ovvero in grado di generare codice HTML senza fare uso di tabelle.
Come sappiamo infatti per default Joomla mostra un codice che fa spesso e volentieri uso delle tabelle per l’impaginazione e la corretta visualizzazione degli elementi della pagina.
Beez utilizza gli output override per riscrivere completamente questo codice e presentare nel modo più accessibile e moderno possibile le pagine del sito, permettendo l’utilizzo di Joomla in siti che necessitano un sito strettamente accessibile, come le pubbliche amministrazioni.
In pratica la questione accessibilità viene delegata nelle mani del creatore di template, e la domanda non è “Joomla è accessibile?”, bensì “Il mio template è accessibile?”.
Ovviamente generare un codice in grado di modificare tutto l’output di Joomla è un lavoro enorme, ma nulla ci vieta di copiare spudoratamente gli override scritti per Beez ed utilizzarli nel nostro template.
La struttura della cartella ‘html’ del template Beez mostrata a sinistra rende l’idea di quanto sia stato personalizzato il codice di Joomla.

-
Feeds
Segui il feed RSS e Twitter per restare sempre aggiornato!
-
-
Ultimi commenti
- Marco: Scusate ma non riesco a far funzionare l’utilissimo metodo indicato. Ho creato modulo html...
- Syd: you’re awesome. …..
- anna: alla prima installazione ho avuto qualche problema con la memoria, poi ho sistmeato. Ottimo !!
- Antonio: Ciao volevo chiederti alcune info. Io devo creare un socialnetwork con funzioni simili a Facebook però...
- massimo: sono capitato qui da un link postato da mau_develop in risposta ad un mio quesito sul forum di joomla.it:...
-
Ultimi post
