"Gli Jatravartid di Viltvodle VI credono invece che il cosmo sia nato dallo starnuto di un essere chiamato il Grande Ciaparche Verde."

Towel Day - Non fatevi prendere dal Panico

Guida Galattica per gli Autostoppisti

L'override in Joomla

Logo Joomla
Immagine da 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.

Non c'è bisogno (?) di dire che modifiche a questi file richiedono una certa conoscenza di PHP e delle API di Joomla. Un altro vantaggio dell'override, comunque, consiste nel fatto che, se fate qualche grossa stupidaggine, è sufficiente cancellare il file modificato e ripartire copiando nuovamente l'originale di Joomla.

Tags: Joomla, Override, Personalizzare template

Contattami, ma pensaci bene

  • Scrivimi, affinchè possa ignorarti con calma
  • Pubblico questa roba dalla Bassa Modenese. Sì, la zona del terremoto di maggio 2012...

    ... tromba d'aria nel 2013...

    ... alluvione nel 2014...

    ... nuova tromba d'aria nel 2014

Cominciamo ad essere un po' scocciati

E questo Ciaparche, cos'è?

Se ti punge vaghezza di conoscere la risposta e dimostrare così la tua ignoranza, non temere: nessuno dal monitor ti osserva (sicuro? Meglio essere attenti... controlla le impostazioni di privacy della fotocamera), per cui corri ad informarti facendo clic sul link sotto.

Se sei tra quegli eletti che hanno colto la citazione, hai tutta la mia approvazione.

Soddisfa la tua curiosità

Riassunto per pigri

Se i titoli dei menu non ti sono chiari, al tuo posto mi preoccuperei. Vabbè oggi mi sento magnanimo e ammetto che alcuni sono criptici o ambigui, per cui ho deciso di metterti a disposizione un riassunto che ti spiega in breve cosa troverai in questo sito.

Dissipa i tuoi dubbi