Joomla! - Personalizzare il Template: Override

google-plus Scritto da . Postato in Joomla!

Il sistema di override di joomla è un sistema semplice e nello stesso tempo potente e sofisticato. Consente di cambiare faccia a qualsiasi cosa desideriamo.

Struttura di un estensione

Ogni estensione infatti, si presenta a frontend con delle viste (view) che gli consentono di presentare i dati a frontend e che al contempo danno all'utente la possibilità di interagire con le sue funzionalità.

Se infatti aprite la cartella di un componente es. com_content, noterete che all'interno vi è la cartella view. Dentro di essa, le viste suddivise per cartelle riportanti il nome deciso dal programmatore per ognuna di esse. Se apriamo una vista in particolare, troveremo la tmpl folder.

esempio-componente

Nei moduli la struttura si presenta più semplice. La tmpl folder è dentro la cartella del modulo (es. modules/mod_articles_archive/tmpl)

esempio-modulo

All'interno di tmpl (ogni view e modulo ne ha una) si trovano i file contenenti il codice responsabile per ultimi della presentazione della pagina mostrata all'utente.

Di solito il file principale (anche se non è obbligatorio si chiami così) prende il nome di default.php; se vi sono altri file riportanti nome es. default_login.php o default_links.php (come da immagine) questo significa che per comodità il programmatore ha spezzato in più file la view; ognuna rappresenta una sezione della pagina default.php.

Perché effettuare l'override

Ognuno di questi file è modificabile. E funzionerebbe! Il problema sta nel fatto di ciò che accade nel caso aggiorniamo l'estensione in un secondo momento.

Se nel pacchetto di aggiornamento è prevista la sovrascrittura dei file della view modificata, le modifiche fatte andrebbero perse. Il nostro lavoro sarebbe da ripetere da capo!

Se invece svolgiamo la modifica rispettando la funzione di override di joomla, ciò non accade. Aggiornamento dopo aggiornamento le modifiche permangono. L'unica cosa che può accadere è che la view da noi modificata con il tempo non sia più adatta alle funzionalità del componente. Il che ci costringerebbe a rifare l'override: Poco male. 

Questo ha un duplice vantaggio: da un lato possiamo cambiare volto alle nostre estensioni. Dall'altra possiamo continuare ad aggiornare le estensioni senza timore di perdere il nostro lavoro.

Come si crea un'override

Ma come si svolge l'override di un componente o modulo? Di per se la tecnica è molto semplice. Si tratta di copiare i file della view da ritoccare all'interno della cartella html del nostro template in uso.

Questo vuole dire che se per assurdo utilizzaste più template nel vostro sito e la view venga richiamata su ognuno di essi, l'operazione va svolta più volte, cioè su ogni template.

Infatti la tecnica consiste nel sovrascrivere i file delle estensioni attraverso il template. Per questo l'override è vincolato ad esso.

Premesso ciò,

  1. Aperta la cartella templates/nome_template/html creiamo all'interno del percorso la cartella con il nome del nostro componente, ad esempio com_example.
  2. Dentro creiamo una cartella con il nome della view da modificare.
  3. Qui ora copiate il file da ritoccare, ad esempio default.php.

La parte più semplice è fatta, ora la parte più complessa: Dare forma alla creatività cambiando il codice del file duplicato.

Per una più dettagliata spiegazione e un esempio applicabile, rimando all'articolo del portale della community italiana di joomla: override del template.

Se hai gradito l'articolo, condividilo, basta un click!

Aggiungi commento


Codice di sicurezza
Aggiorna

  • logo prontopro
  • logo boutique serramento
  • koilab japan and tropical fish farm
  • Trasloco economico - gruppo Arco Traslochi
  • logo flash pulizie
  • logo revolution
  • logo planetkoi small
  • logo finiture
  • ick logo template
  • montaggio mobili trento

Realizzato da: Daniele Gagliardi
Viale Monache 3 - 38062 Arco - TN
- Contattami -

Per essere più facile ed intuitivo, il blog fa uso dei cookie, piccole porzioni di dati che consentono di capire come gli utenti navighino e ne visualizzino le pagine. I cookie non registrano alcuna informazione personale sull'utente ed eventuali dati identificabili non verranno memorizzati.