IT Blog
Simbolo Joomla

Informatica e Tecnologia

Articoli e notizie per designer e sviluppatori web

  • Come si può modificare un template Joomla in totale sicurezza e non perdere le modifiche al prossimo aggiornamento?
  • Come si fa a creare più override diversi della stessa vista?

Per rispondere a queste domande, in Joomla è stata introdotta una nuova funzionalità chiamata Child Templates.

Che cosa sono i Child Templates ?

Child Templates in Cassiopeia

Il 15 febbraio 2022, è stata rilasciata Joomla 4.1 che ha portato con se una nuove funzionalità che si chiama Child Templates. Questa funzionalità significa che Joomla supporterà i template con la possibilità di creare template figli. In altre parole, un Child Template è un template che eredita le funzionalità e le caratteristiche del template padre.

Perché si devono utilizzare ?

L'idea dietro i Child Templates e di permettere gli aggiornamenti dei template in totale sicurezza e senza modificare o perdere le personalizzazioni fatte dall'utente. In sostanza questo significa un ambiente più sicuro per gli autori di template ma anche per gli utenti finali.

Come funziona ?

Un Child Template funziona esattamente come qualsiasi altro template tranne che usa tutto il codice, php, css e javascript, del suo template padre. Al suo livello più elementare contiene solo un singolo file, templateDetails.xml. In questo file esiste un campo che fa riferimento al template padre, tipo: <parent>cassiopeia</parent>.  La parte MVC di Joomla è già consapevole di come gestire i Child Templates e funziona in base all'ereditarietà.
Per esempio, se index.php non esiste nel Child Template, allora verrà usato quello del template padre. Questo schema è applicato ai punti di ingresso diretti del template e anche agli override dei file statici.

Ora con un Child Template si può personalizzare un override o un css e mantenere il template padre pulito come il giorno in cui è stato installato. Non c'è limite al numero di Child Templates che si possono creare, quindi ognuno potrebbe avere diversi layout e stili.

Tutti i template possono avere Child Templates ?

No, questa e una caratteristica opzionale, quindi un template per essere abilitato per i Child Templates dovrebbe avere, nel file manifest templateDetails.xml, un nome di campo ereditabile con un valore 1.

<inheritable>1</inheritable>

Un'altra novità, a partire dalla versione di Joomla 4.1, e che le risorse statiche sono memorizzate nella cartella media piuttosto che nella cartella template. Con risorse statiche si intende i file che sono ragiunti dal browser web, i file css e javascript, le immagini, in pratica le cartelle CSS, SCSS, JS e IMAGES. Questo vale per Cassiopeia e per tutti altri template che sono compatibili con Child Templates.

ALTRE RISORSE
* Dimitris Grammatiko: Sweet child o' mine; A deep dive into Child Templates for Joomla 4.1 (opens in a new tab)
* Il concetto dietro i Child Templates e perché utilizzarli (opens in a new tab). (Articolo su Joomla! Magazine maggio 2022)

Buon Joomla !