
In questo post vedremo come creare un Modulo per Joomla,uno dei Cms più utilizzati nella rete, di cui da poche settimana è stata rilasciata la versione 1.6.
La nuova versione ha portato grosse novità dal pundo vista degli utilizzatori molte delle quali descritte nel precedente articolo “Finalmente disponibile Joomla 1.6“.
Delle novità ci sono ovviamente anche per chi sviluppa estensioni e questo vale quindi, anche per i moduli.
Per inserire il modulo all’interno della struttura del framework Joomla, sono necessari determinati file e cartelle con una determinata gerarchia.
Questi sono i file base per creare il modulo hello_word
folder->mod_helloword
file->mod_helloword.php
file->mod_helloword.xml
file->helper.php
folder->tmpl
file->default.php
I nomi dei file “mod_helloword” non sono casuali ma devono avere lo stesso nome indicato come nome del modulo nel file xml, cioè il nome che vogliamo dare al modulo.
Ora passiamo alla parte relativa al codice PHP.
Il file mod_helloword.php in pratica è il punto di ingresso, cioè il punto da cui il sistema Joomla accede al modulo qualunque sia la sua complessità.
In questo file ci sono dei controlli sull’accesso e successivamente vencono istanziati gli oggetti che poi gestiranno il modulo.
Vediamo un semplice esempio :
< ?php
// impediamo l'accesso diretto alla pagina
defined('_JEXEC') or die;
// chiamata al file helper.php
require_once dirname(__FILE__).DS.'helper.php';
// chiamata al modulo
$saluto = modCiaoMondoHelper::getSaluto($params);
require JModuleHelper::getLayoutPath('mod_helloword');
?>
Il file helper.php si occupa di far funzionare il modulo.
Al suo interno abbiamo tutte le funzioni che serviranno per le operazione ìche il modulo deve effettuare e da qui si richiama il layout dello stesso.
Ecco il codice del file helper.php in cui semplicemtne definiamo una funzione getSaluto che ritorna la stringa di saluto che verrà stampata sulla pagina.
< ?php
// classe del modulo
class modCiaoMondoHelper
{
// metodo della classe
function getSaluto( $params )
{
// valore di ritorno
return 'Ciao Mondo!';
}
}
?>
Il file tmpl/default.php si occupa del cosiddetto view del modulo cioè della visualizzazione vera e propria sulla pagina. In pratica è il template del modulo che prende i dati passati dall’helper e li visualizza.
< ?php
defined('_JEXEC') or die;
echo $saluto;
?>
L’ultimo file è molto importante.
Si tratta del file mod_helloword.xml che contiene informazioni relative al modulo come ad esempio i file di cui è composto, i parametri da passare, autore, versione, descrizione ed altre che vedremo in seguito.
Per il nostro semplice modulo risulta semplice anche il file xml
Ecco la struttura di mod_helloword.xml
< ?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="1.6.0" client="site" method="upgrade">
<name>hello word</name>
<author>Modifycando.com</author>
<version>1.6.0</version>
<description>Modulo base per Joomla.</description>
<files>
<filename module="mod_helloword">mod_helloword.php</filename>
<filename>mod_helloword.xml</filename>
<filename>index.html</filename>
<filename>helper.php</filename>
<filename>tmpl/default.php</filename>
<filename>tmpl/index.html</filename>
</files>
<params>
</params>
</extension>
Il file index.html che c’è nella cartella tmpl è utilizzato solo per evitare il browsing della cartella e può contentere semplicemente una pagina bianca.
<html>
<body>
</body>
</html>