L'override in Joomla
Una delle caratteristiche che più apprezzo ed utilizzo di Joomla è l'override.
Supponiamo si voglia modificare l'aspetto degli articoli generati dal motore del CMS; ad esempio, vogliamo aggiungere una riga di copyright al termine di ogni articolo. Quanto segue è basato (e testato) con Joomla 2.5.x, template default (Beez2).
Dovrebbe funzionare senza modifiche significative anche con Joomla 3.x, ma non l'ho testato (sì sono pigro... ma se non posso essere pigro nella gestione del MIO sito, dove posso?). Ricordare che in Joomla 3 il template default è Beez3 e il nome della cartella corrispondente è "beez3".
Joomla offre un motore di "base", usato come modello per i vari template installabili. Ogni template crea una sottocartella nella cartella "templates" di Joomla. Nel nostro esempio, la cartella del template "Beez2" si chiama beez_20 e si trova nella cartella templates.
Volendo personalizzare l'aspetto generale degli articoli, ho due possibilità. La prima prevede la modifica del contenuto del file
components\com_content\views\articles\tmpl\default.php
a livello quindi del motore principale di Joomla. Si tratta del file responsabile della visualizzazione degli articoli. Quando però devo aggiornare Joomla, è fortemente probabile che questo file venga sovrascritto, perdendo quindi tutte le personalizzazioni.
La seconda possibilità interviene invece a livello di template. Tra le sottocartelle di beez_20 è presente la cartella html. Creiamo al suo interno la cartella com_content, se non esiste, e, dentro quest'ultima, creiamo la cartella article, copiandovi quindi il file default.php.
Ora modifichiamo questo file secondo le nostre esigenze e il gioco è fatto: le modifiche vengono applicate, senza che siamo intervenuti sui file principali di Joomla. Individuiamo nel file default.php questa riga:
<?php echo $this->item->text; ?>
(si trova alla riga 177 nella versione 2.5.7 di Joomla)
e aggiungiamo subito dopo la riga:
<?php echo "© 2012 Il Grande Ciaparche Verde"; ?>
Salviamo, quindi apriamo un qualunque articolo nel nostro sito; al termine del testo, se tutto è stato fatto correttamente, appare la stringa "© 2012 Il Grande Ciaparche Verde".
Quest'ultimo metodo evita sovrascritture causate da aggiornamenti di Joomla ed anche del template, visto che la cartella creata non viene sovrascritta da una nuova versione dello stesso.
Tags: Joomla, Override, Personalizzare template