23/05/2022
Una delle regole fondamentali di Joomla, così come la maggior parte di altri CMS, è quella di inserire nel file index.php del template il percorso ad uno o più files CSS e/o JavaScript, per la stilizzazione della grafica o scrittura di codice JS per l'interazione con l'utente.
Va da se che le "pagine" vere e proprie non esistono, come avviene con un sito statico. Quando si seleziona una voce di menu viene effettuata una query al database ed il server mostra a video "quella determinata pagina".
Poniamo il caso di avere solo nella home page uno slider di immagini. Normalmente si dichiarano i percorsi dei files CSS e JS in index.php.
N.B. Il codice inserito nel file index.php verrà richiamato in tutte le pagine del sito.
Domanda: perchè ad ogni query, leggasi ogni pagina che un utente richiede, dobbiamo far "caricare" codice che non serve? Avremmo caricamenti di pagine più veloci e peso ridotto se scrivessimo la giusta quantità di codice e soprattutto "dove serve".
Inoltre, la regola "canonica" di Joomla prevede che i nomi delle posizioni dei moduli vengano scritti nel file index.php del template.
Con questo articolo vorrei mostrare come fare per inserire moduli e codice nella sezione di un articolo Joomla per personalizzarla in maniera differente dalle altre.
Vedremo in seguito che ci sono due possibilità:
inserire moduli nella sezione del file index.php per pagine "statiche"
aggiungere codice nella sezione del file index.php per pagine "dinamiche"
Entrambe le soluzioni daranno come risultato la personalizzazione di "articoli statici" ed "articoli dinamici". Questi ultimi possono appartenere a determinate categorie come, per esempio, la classica "categoria Blog" di Joomla.
La demo è stata effettuata su una installazione Joomla 3.10.9 con il template di default "Protostar". Va detto che è possibile anche utilizzare un template commerciale oppure uno realizzato da noi.
Inserire un modulo nella di un articolo statico Joomla
Prima di procedere con l'inserimento di un modulo nella sezione di un articolo Joomla, si deve:
effettuare l'override del modulo mod_custom
assegnare il nome del modulo nel file templateDetails.xml
editare il modulo con codice CSS o JS
riportare il Jdoc statement nel file index.php del template
1: Effettuare l'override del modulo mod_custom
loggarsi nell'area di amministrazione Joomla
dal menu superiore selezionare Estensioni ↠ Template ↠ Lista Template
fare click su "Protostar Dettagli e File"
nella pagina successiva selezionare il secondo TAB, in alto, Crea override
dall'elenco di sinistra, Moduli, fare click su mod_custom
apparirà il messaggio "Override creato in /templates/protostar/html/mod_custom"
connettersi via FTP nella directory in cui è installato Joomla
portarsi in /templates/protostar/html/mod_custom
fare il download del file default.php
Una volta aperto, il file default.php presenterà il seguente codice:
Aggiungere moduli, codice CSS interno alla pagina e JavaScript, direttamente nella sezione head di un articolo Joomla per personalizzarlo graficamente.