Override (Sostituzioni)

Avete già creato uno stile, cambiando i file CSS e la pagina principale del vostro template, e siete ancora insoddisfatti da questo risultato? :-) Allora questo è il momento ideale per discutere di sostituzioni. In Joomla! ci sono due tipi di override: override template e layout alternativi.

Override template

Supponiamo che desiderate modificare il layout della pagina dei risultati di ricerca. Un componente come il componente di ricerca ha un layout template predefinito, memorizzato nel file /httpdocs/components/com_search/views/search/tmpl/default.php. Questo file permette di vedere l’aspetto della pagina di ricerca. Aggiungete alcune parole al file, salvatelo e vedrete immediatamente il risultato! Per esempio, aggiungete

<strong>I have changed something :-) </strong>

nella linea 13 e vedete cosa succede (Figura 1).

cocoate.com/node/6476

Figura 1: Cambiamenti nell'output HTML

Il risultato è buono per il vostro scopo perché è stato così facile e viene visualizzata in ogni template. Comunque, non è positivo per la vostra reputazione perché avete appena cambiato il codice sorgente. Con il prossimo aggiornamento di Joomla! le modifiche andranno perse!

Una migliore alternativa sarebbe quella di usare la funzione override template in ogni template. Copiate il file modificato nella vostra cartella template /httpdocs/templates/[template_name]/html/com_search/search/default.php e rimuovete le modifiche al file originale. Il risultato sulla pagina web è la stessa, ma dietro le quinte, avete sostituito il file originale .../default.php con il contenuto del vostro layout preferito senza cambiare il codice sorgente - ben fatto!

Questo sistema è stato introdotto nell’anno 2007 con la versione di Joomla! 1.5 e funziona bene ancora oggi.

Layout alternativi

In Joomla! 2.5 le override hanno un miglioramento chiamato layout alternativi. Sono sicuro che avete già visto il campo Layout Alternativo nel modulo di modifica di articoli, moduli e categorie (Figura 2).

cocoate.com/it/node/10467

Figura 2: Layout alternativo in un articolo

Perchè abbiamo bisogno di layout alternativi? Immaginate di essere un amministratore o un webmaster, e un template venisse fornito con tre layout alternativi per un articolo. A volte è un ‘normale articolo’, a volte potrebbe essere un prodotto, altre volte ancora una pagina di un libro. Dovrete soltanto scegliere quale layout usare. Questo sembra una grande funzione e, certamente, è così.

La tecnica è la stessa di quella dell'override del template. Dovete creare una cartella con lo stesso nome del componente o modulo e una sottocartella per la vista. Ci sono due differenze:

  1. Ovviamente il nome del file deve essere qualcos’altro di default.php , così come è già stato riservato per l'override del template.
  2. Il layout alternativo è, naturalmente, non selezionabile automaticamente.

In aggiunta al layout alternativo, i tipi di voce di menu che possono essere aggiunte al layout e le voci di opzione di quell’articolo possono essere controllate definendole in un file xml con lo stesso nome del file del layout alternativo (Figura 3).

cocoate.com/node/6476

Figura 3: Tipi di voci di menu aggiuntive

La creazione di questi file non sono argomento da principiante, ma sono sicuro che template di terze parti presto faranno uso di queste nuove possibilità (Figura 4).

cocoate.com/node/6476

Figura 4: Layout aggiuntivo in un articolo