Le estensioni di Joomla!

Componenti - Plugin - Moduli - Templates - Lingue

La struttura estremamente flessibile del CMS consente, ai software prodotti da terze parti, di integrarsi perfettamente con Joomla!, implementando funzonalità tra le più disparate.

Si vuole arricchire il sito con un form di commenti? Si necessita di un modulo che visualizzi le news a scorrimento orizzontale o verticale? E' sufficente visitare la JED (Joomla Estension Directory) all' url http://extensions.joomla.org.

Le Estensioni di Joomla! non sono altro che files scritti in codice PHP i quali, integrandosi con il Core di Joomla! (tutto l'insieme delle classi e delle funzioni sviluppate dal Team di Sviluppatori di Joomla!), ed il database MySQL, permettono di ampliare le funzionalità di un sito web, aggiungendo nuovi elementi.

Tali Estensioni - o Extensions - si possono individuare in:

Una estensione aggiunge funzionalità a Joomla! che non esistono nel core di base. Ecco alcuni esempi delle estensioni attualmente disponibili:

Ogni estensione può essere installata, o disinstallata, attraverso la procedura guidata dal backend di Joomla! Le due operazioni citate sono uguali sia che si tratti di un componente, un modulo, un template ecc...

Entriamo adesso nel merito delle estensioni, cercando di vedere più da vicino le loro funzionalità.

Componenti

Un componente è la più grande e complessa delle estensioni. Potrebbe essere paragonato ad un programma, o una applicazione, in grado di estendere le funzionalità di Joomla!, non presenti nell'installazione di default.

Possono anche essere definiti come delle mini-applicazioni che formano il corpo principale della pagina. Per esempio, il Componente articoli presente nel core (com_content), è una mini-application che gestisce tutti i contenuti così come, allo stesso modo, il Componente per la registrazione (com_user) è una mini-application che gestisce la registrazione degli utenti.

Subito dopo l'installazione, Joomla! possiede, di default, una serie di componenti già immediatamente utilizzabili:

Il Componente Contatti (com_contact) non è altro che il classico form presente in un sito web attraverso il quale chiedere informazoni da parte degli utenti. E' possibile definire (creandole) delle categorie di contatti, in relazione al gruppo di appartenenza ed associare ad ogni persona una email specifica.

Il Componente Banner (com_banners) consente una facile ed agevole gestione di campagne promozionali mostrando, in maniera casuale, di banner appunto. Una funzione in più che è stata aggiunta in Joomla! 1.5 è la possibilità di gestire anche link testuali, conteggiando sia i click ricevuti che le "impressions". Affinchè un banner possa essere presentato nella pagina, Joomla! si serve di moduli, appartenenti alle estensioni anch'essi, che vedremo più avanti.

Il Componente Prima Pagina (com_frontpage) si occupa di mostrare in home page le notizie disposte a seconda dell'esigenza del gestore del sito; possiamo avere, infatti, delle brevi introduzioni (excerpt) di un articolo, leggere il testo completo in una pagina distinta.

Il Componente News Feed (com_newsfeeds) permette di integrare nelle pagine notizie provenienti da altri siti. Joomla! permette la suddivisione in categorie, nel caso in cui fossimo in presenza di molte news da gestire.

Il Componente Mass Mail (com_messages) permette l'invio di e-mail in blocco a tutti gli iscritti al sito oppure ad alcune categorie presenti.

Il Componente Sondaggi (com_poll) gestisce, appunto, sondaggi a risposta multipla e permette di conoscere in tempo reale le statistiche generate. La preparazione delle domande avviene dal backend e mostrate, attraverso un modulo, nel frontend.

Il Componente Web Links (com_weblinks) consente di catalogare elenchi di link, suddivisi per categorie. Per ogni link inserito, possiamo conoscere i click ricevuti (in termini di gradimento).

I componenti sin qui descritti sono quelli che si vedono dal frontend di un sito ma ce ne sono altri che lavorano in "background"; ne è un esempio il com_installer - si occupa di gestire gli automatismi per installare le estensioni; il com_menus gestisce i menu dinamici ecc...

Plugin

Sono routines software che consentono l'aumento delle perfomances dei servizi forniti dalla piattaforma. Un Plugin agisce in maniera differente dalle altre estensioni, intervenendo quando si verifica un determinato evento. Gli Editor di testo sono Plugin, ad esempio, che entrano in azione quando c'è l'evento onGetEditorArea. In alcuni casi si sostituiscono ai Plugin originali per aumentarne le prestazioni. Rimanendo nell'ambito di un editor di testo, è possibile installarne altri che vanno a sostituire quello di default di Joomla! E' il caso, per esempio, di JoomlaFCK Editor.

Essi possono "abbracciare" anche altre funzioni, oltre l'editing dei testi, quali: gestione delle immagini, funzioni di ricerca avanzate, Plugin per visualizzare le Google Maps, aggiungere commenti in un sito ecc...

Un Plugin molto importante, per esempio, è stato System - Legacy che ha permesso il supporto per le vecchie versioni di Joomla!; in altri termini la retro-compatibilità. Esso ha trovato una più ampia applicazione con Joomla! 1.5 affinchè il passaggio dalla ormai scomparsa versione di Joomla! 1.0 alla versione successiva, sia stato meno "doloroso" possibile in fatto di utilizzo delle estensioni.

Moduli

I moduli di Joomla! sono estensioni che consentono l'aggiunta di porzioni di codice HTML in un sito.

Solitamente vengono utilizzati per mostrare informazioni o funzionalità in maniera interattiva all'interno di un sito realizzato con Joomla!, in maniera indipendente rispetto ai contenuti principali.

Essi possono essere considerati come delle "finestre" aggiuntive attraverso le quali dare informazioni non strettamente correlate alla pagina che si sta visualizzando.

I moduli recuperano informazioni, o parti di esse, definite attraverso parametri, e le visualizzano nella zona ad essi assegnata nel template. Per esempio attraverso il modulo "ultime notizie" è possibile mostrare soltanto i titoli degli articoli, presentandoli come elenco, dando la possibilità di fornire al visitatore una anteprima di quello che si trova all'interno del sito.

Esistono tantissimi moduli di grande utilità già programmati e pronti all'uso, messi a disposizione gratuitamente, reperibili nell'apposita sezione del sito ufficiale delle estensioni (JED).

Tra i moduli standard troviamo, per esempio, il Modulo Main Menu (Menu Principale); il Modulo di login (per l'accesso degli utenti a pagine riservate) ecc...

Template

Il template è un documento con estensione ".php" (il suo nome è index.php), all'interno del quale è presente codice HTML, piccole porzioni di codice XML (nelle quali sono presenti i nomi dei moduli), con collegamenti ai files ".css" per conferire l'aspetto grafico da dare al sito finale. Oltre a quanto appena scritto, viene anche delimitata l'area nella quale verranno caricati i contenuti del sito.

Per quanto riguarda il reperimento di tali estensioni, sono disponibili in rete tantissimi siti che mettono a disposizione templates gratuiti oppure a pagamento.

Lingue

Come si evince dal nome della estensione in oggetto, i files di lingua servono nel caso in cui si voglia realizzare un sito multilingua con Joomla!

Il CMS è rilasciato in lingua in inglese (en-GB). La comunità italiana di sviluppatori traduce il sito in italiano (localizzazione) sia lato frontend che backend (si faccia attenzione che i files delle lingue qui menzionati, non hanno nulla a che vedere con i contenutidel sito).

Il download di altri files lingua, come per la maggior parte delle estensioni, è possibile effettuarlo direttamente nella JED.