Il grande successo di Joomla in questi anni è sicuramente dovuto alla semplicità ed alle potenzialità d'utilizzo, nonché ai numerosi plugin e moduli sviluppati. Esistono di fatto svariate estensioni pronte all'uso, distribuite gratuitamente per fini non commerciali, per rendersene conto basta dare un'occhiata al sito ufficiale che raccoglie tutte le estensioni Joomla. Per i più esigenti, comunque, può succedere di non trovare un'estensione che corrisponda alle proprie aspettative, in questo caso è possibile sviluppare ed ideare un plugin o un modulo che integri al suo interno le funzionalità da noi attese. In questa guida vedremo come sviluppare un componente standard, costituito da una parte back end ed una frond end, e che si interfacci con il database alla base di Joomla, in sostanza, andremo a simulare il comportamento base di un qualsiasi modulo/pluing Joomla.
Il componente che implementeremo astrae il concetto di bacheca online. Esso sarà formato da una parte back end e una front end. Tramite l'interfaccia front end, gli utenti del sito visualizzeranno le informazioni immesse dagli amministratori che a loro volta utilizzeranno l'interfaccia di back end per tale scopo. L'amministratore o il manager del sistema potrà, semplicemente utilizzando un form, inserire l'annuncio ed il titolo da visualizzare, quest'ultimo sarà automaticamente memorizzato all'interno del database Joomla. Questo semplice componente possiede al suo interno tutte le basi di un qualunque modulo Joomla, cioè programmazione della parte front end, della parte back end, interazione con il database e le basi sulla politica di sicurezza intrapresa dagli sviluppatori Joomla.
Per procedere allo sviluppo di un componente Joomla occorre, principalmente conoscere un minimo di teoria, nello specifico gli argomenti che ci interesseranno sono le basi del linguaggio PHP e dei sistemi web, un minimo di semantica SQL per la strutturazione di semplici query, una conoscenza del pattern di programmazione MVC (Model-View-Controller) e le librerie adottate ed esportate da Joomla 1.5 per poter rendere affidabile, semplice e possibile lo sviluppo e l'integrazione del componente all'interno del CMS. Per quanto riguarda il linguaggio PHP, potrete trovare ottime guide e diverse risorse all'interno del nostro sito dedicato a PHP, stessa cosa per il "linguaggio" SQL.
Con la versione 1.5 di Joomla gli sviluppatori hanno fatto un notevole sforzo per rendere possibile a "chiunque" lo sviluppo di componenti integrabili con il CMS, ciò è stato reso possibile grazie alla riscrittura di alcune classi del core di Joomla, nonché ad un'accurata implementazione del modello MVC, all'interno del sito Joomla.org è presente anche una sezione "Developer" interamente dedicata agli sviluppatori, dalla quale poter trarre numerosi spunti.
Esula da quest'articolo una trattazione dettagliata del modello MVC; sinteticamente comunque è possibile definire il modello MVC, come un modello di programmazione (pattern di programmazione) che consente di progettare le applicazioni modularmente in modo che il livello dati, il livello presentazione ed il livello logico, siano indipendenti tra di loro, cioè un cambiamento effettuato in uno dei tre livelli non deve implicare uno stravolgimento nei restanti due. Il Model è deputato alla gestione della logica dell'applicazione (elaborazione, accesso ai dati), la componente View organizza i dati per essere visualizzati all'utente e la parte Controller viene utilizzata per gestire le richieste dell'utente indirizzandole verso gli oggetti appropriati. Per permettere ciò e dare una base ai programmatori, i padri di Joomla 1.5 hanno ideato una struttura base per lo sviluppo dei componenti, questa struttura naturalmente rispecchia l'MVC ed è articolata in quattro "componenti software":
Guida AlfrescoScopriamo le funzionalità del CMS Alfresco, uno strumento ideale... |
Guida WordPress 3WordPress 3 raggiunge le capacità dei migliori CMS, capace di... |
Guida Joomla 1.6Conosciamo nei dettagli le novità di Joomla 1.6 e vediamo come... |
|
|
Corso Webmaster base18 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |
|
|
Corso Webmaster base11 Giugno 2012 a Roma |