Cosa è l'override dell'output di Joomla!

Come anticipato nell'introduzione, possiamo personalizzare il template di Joomla! cambiando la grafica ed il layout dell'intero sito, rendendolo unico e differente rispetto a tutti gli altri siti web. Si consideri il template alla pari di un "vestito"; esso può cambiare a seconda delle occasioni (nel nostro caso in base al target del sito da realizzare) ma chi lo indossa (il core con l'output dei contenuti) rimane sempre uguale.

Possiamo considerare, quindi, il template come la "maschera" dietro la quale lavorano in "background" tutte le estensioni di Joomla! installate, quali Moduli e Componenti; come se non bastasse, principio cardine del seguente articolo, possiamo anche modificare il codice proveniente dal core di Joomla! apportando modifiche al codice PHP e HTML sovrascrivendolo. Tale processo di sovrascrittura prende il nome di Override dell'output di Joomla!

L'output standard di un Modulo o Componente per Joomla! può essere bypassato, sovrascrivendo determinati files del core con del codice PHP e HTML, inserendoli in una cartella appositamente creata e denominata html del template predefinito.

Vantaggi dell'override

I vantaggi che l'override dell'output di Joomla! apporta in un sito sono notevoli e molto importanti. Si è a conoscenza del fatto che il codice HTML prodotto è costituito da molte tabelle, tantissime sono superflue ed inutili - a mio modo di vedere - Questo motivo allontana un sito web realizzato con Joomla! dall'uso semantico del codice; si pensi - ad esempio - al titolo che potrebbe essere dato ad una pagina; esso è contenuto in una cella di tabella (td class="componentheading") al posto di un più corretto tag h1, h2 ecc.

Adottando l'override, quindi, è possibile introdurre modifiche sostanziali al corretto utilizzo dei tag senza per questo intaccare il core di Joomla! E' vero anche che una riscrittura del core potrebbe eliminare le tabelle introdotte nei files .php ma, nel caso di un aggiornamento critico del CMS, si deve rifare tutto da zero in quanto non possiamo sapere quali files siano stati interessati o meno.

Individuare i files da sovrascrivere

Se non si ha molta dimestichezza con il codice sorgente di Joomla!, sarebbe meglio cominciare, prima di metterci mano, ad individuare i files che possono essere sovrascritti, senza causare danni al sito web. Se si accede tramite un qualsiasi programma FTP alla directory remota, nella quale sono contenuti tutti i files, possiamo notare che sono presenti le seguenti cartelle:

/    
administrator
cache    
components
images
includes
installation
joomla
language
libraries
logs
media
modules
plugins
templates
tmp
xmlrpc

Oltre alle suddette cartelle, ci sono anche altri files che compongono tutta la struttura del CMS. Per cominciare con l'ovverride dell'output, è necessario creare una cartella denominata html e va collocata nella cartella del template di default, attualmente in uso. Fatto questo, la cartella del template sarà così formata:

/Cartella_Template/html/Nome_Estensione/Nome_View/Nome_File.php

Per esempio, se si volesse sovrascrivere l'output di un "Articolo", generato dal componente com_content, è necessario copiare il file da:

Root_Principale/components/com_content/views/article/tmpl/default.php

a

Cartella_Template/html/com_content/article/default.php

Si noti la differenza sostanziale del percorso tra le due cartelle.

Alla stessa maniera, se volessimo fare l'override del modulo di login (mod_login), dovremmo copiare il file dalla seguente cartella:

Root_Principale/modules/mod_login/tmpl/default.php

in quest'altra:

Cartella_Template/html/mod_login/default.php

La versione di Joomla! 1.5.X, per esempio, veniva installata con il template di default "Beez". Beez adotta l'override del template affinchè il suo layout producesse un codice HTML table-less, leggero e semanticamente corretto.

Per potere vedere la directory dell'override del template Beez, portarsi nella cartella /templates/Beez/html.

Se si volesse utilizzare l'override del template Beez nel proprio sito, non si deve fare altro che copiare tutta la cartella html in quella del template in uso. Tale operazione non è sufficente a garantire l'ottimizzazione dell'override dell'output del proprio template. Se si installa la cartella del template, si deve aggiungere un rigo di codice nel file templateDetails.xml; per la precisione si deve scrivere:

<folder>html</folder>

Il codice di cui sopra, in sostanza, permette all'installer di Joomla! di estrarre, oltre a tutti gli altri files, anche quelli che dovranno assolvere alla funzione di override dell'output.

Conclusioni

Come si è avuto modo di vedere in questa panoramica sull'override, si potrebbe affermare che non ci sarebbero limiti alla sovrascrittura dell'output del core di Joomla!. Esso consente di aggiungere, modificare e rimuovere il codice con il quale sono state scritte le estensioni per il CMS.

© www.extrowebsite.com - Grafica, layout, articoli e guide sono di esclusiva proprietà del webmaster - Tutti i diritti riservati