Cos'è l'override in Joomla
Cos'è l'override in Joomla!
Può capitare di dover modificare un modulo di Joomla! o più semplicemente l'aspetto grafico dello stesso. Ma modificare direttamente i files del core di Joomla! non è quasi mai una buona idea.
I motivi per evitare di modificare i file di Joomla! sono principalmente due:
- se commettiamo un errore possiamo compromettere il funzionamento del modulo e del sito intero.
- un aggiornamento di Joomla! sovrascriverebbe le nostre modifiche.
L'override è sostalziamente una copia dei file del core di Joomla! che vengono inseriti nella cartella html del nostro template e che "sovrascrivono" i file core. Joomla è abbastanza furbo, prima di caricare i file del core verifica se non ve ne siano di personalizzati dell'amministratore, se li trova carica questi e non i file del core. Questo sistema è sicuro, se c'è un aggiornamento di Joomla! non perderò le mie modifiche che rimangono inalterate nella cartella dell'override, se faccio qualche pasticcio mi basterà cancellare il mio file di override e Joomla! ritornerà ad utilizzare quelli del core.
Come funziona in pratica l'override
Ammettiamo che desideri modificare il form di login, il file di joomla si trova in /modules/mod_login/tmpl/default.php, creo una cartella html nel directory del mio template, poi creo una sottocartella col nome del modulo (in questo caso mod_login) e vi copio il file default.php. Schematizzando, i files di override devono essere all'interno della cartella del mio template in una struttura di questo tipo:
NomeTamplate/html/nomeModulo/fileOverride.php.
Se volessi modificare un tipo di visualizzazione, ad esempio quello con cui Joomla! visualizza gli articoli, dovrei copiare il file
/components/com_content/views/article/tmpl/default.php
nella mia cartella:
/mioTemplate/html/com_content/article/default.php

Come vedete gli override sono sempre all'interno della cartella html e da qui si crea una sottocartella col nome del modulo, oppure una sottocartella col nome del componente e all'interno un'altra col nome della vista.
Schematicamente il percorso per l'override è il seguente:
/nomeTemplate/nomeEstensione/vista/file.php
Se volete approfondire potete leggere questo articolo dal sito di joomla.org