Ho fatto di necessità virtù traducendo questa ottima e semplice guida, e anche se l'inglese dovesse risultare un pò maccheronico, dubito che avrete qualche difficoltà a comprendere i concetti di questa semplicissima guida.
Francesco
Un modulo è un'estensione leggera e flessibile che è usata per
la rappresentazione della pagina. Sono usati per le piccole punte della pagina
e sono generalmente più o meno complessi e possono essere usati attraverso
vari componenti. Potete vedere molti esempi dei moduli nel Joomla standard!
Ad esempio: - menu - ultime notizie - Login e molto altro ancora.
Questa Semplice lezione spiegherà come creare un semplice modulo "Hello World".
Imparerete a creare una semplice struttura base che potrà poi essere utilizzata per crerare
moduli più o meno elaborati.
Struttura Files
Ci sono quattro File di base che sono utilizzati nel modello standard dello
sviluppo del modulo:
* mod_helloworld.php - Questo File è il punto di ingresso
principale per il modulo. Effettuerà tutte le procedure di inizio necessarie,
denominerà le procedure di Routine per raccogliere qualunque dato necessario e
comprenderà la mascherina che visualizzerà l'uscita del modulo.
*mod_helloworld.xml = Questo file contiene le informazioni di Copyright del modulo,
definisce i file necessari per il "Joomla!installer" e i parametri di configurazione
del modulo.
*helper.php = Questo file contiene la Classe Helper che sarà usata in questo lavoro per ricavare
le informazioni da mostrare a schermo (solitamente da un Database o da altre fonti)
*tmpl/default.php - questa è il template del modulo. Quest file prenderà i dati raccolti
da mod_helloworld.php e genererà l'HTML da visualizzare alla pagina.
Creazione del File mod_helloword.php
Il File mod_helloworld.php effettuerà tre mansioni:
* includere il file helper.php che contiene la classe necessaria per raccogliere i dati
* invocare class helper richiamare i dati
* comprendere il per visualizzare l'uscita.
il Class Helper è definita dal File Helper.php. In questo file c'è una dichiarazione require_once
require_once( dirname(__FILE__).DS.'helper.php' );
il require_once è usato perché le nostre funzioni dell'helper sono definite
all'interno di una classe e possiamo avere soltanto una classe
definita per volta.
la nostra Helper Class non è stata ancora definita, ma quando lo sarà,
conterrà un metodo: getHello ().
Per il nostro esempio di base, non è necessario realmente fare questo,il nostro
- “Hello world„ che questo metodo restituisce, potrebbe essere incluso semplicemente
nel template. Usiamo un Class Helper qui per dimostrare questa tecnica di base.
Il modulo attualmente non usa alcun parametro, ma li passeremo comunque al metodo
Helper in modo da poterlo usare successivamente se decidiamo di ampliare le funzionalità
del nostro modulo.
il Metodo Helper Class si usa in questo modo:
$hello = modHelloWorldHelper::getHello( $params );
ecco il codice del file mod_helloworld.php
<?php
/**
* Hello World! Module Entry Point
*
* @package Joomla.Tutorials
* @subpackage Modules
* @link http://dev.joomla.org/component/option,com_jd-wiki/Itemid,31/id,tutorials:modules/
* @license GNU/GPL, see LICENSE.php
* mod_helloworld is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
*/
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
// Include the syndicate functions only once
require_once( dirname(__FILE__).DS.'helper.php' );
$hello = modHelloWorldHelper::getHello( $params );
require( JModuleHelper::getLayoutPath( 'mod_helloworld' ) );
L'unica riga che non abbiamo spiegato finora è la prima riga.
Questa riga si assicurarsi che il file si eseguito solo da Joomla!.
Ciò è necessario per impedire futuri problemi di sicurezza.He
Creazione di helper.php
Helper.php contiene la Helper Class per il recupero dei dati e l'output del template
l'helper class d'esempio contien un solo metodo:gethello().
Questo metodo da il messaggio di ritorno "Hello World".
Eccone il codice
<?php
/**
* Helper class for Hello World! module
*
* @package Joomla.Tutorials
* @subpackage Modules
* @link http://dev.joomla.org/component/option,com_jd-wiki/Itemid,31/id,tutorials:modules/
* @license GNU/GPL, see LICENSE.php
* mod_helloworld is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
*/
class modHelloWorldHelper
{
/**
* Retrieves the hello message
*
* @param array $params An object containing the module parameters
* @access public
*/
function getHello( $params )
{
return 'Hello, World!';
}
}
Non c'è una regola precisa che dice che dobbiamo chiamare il nostro codice Class Helper
ma è utile per poter identificare facilmente il file.I moduli più avanzati
hanno potuto comprendere richieste dal Database o altre funzionalità nel Class Helper.
Creazione di tmpl/default.php
il file Default.php contien il Template d'uscita del nostro modulo.
il codice di questo file è
<?php // no direct access
defined( '_JEXEC' ) or die( 'Restricted access' ); ?>
<?php echo $hello; ?>
Un aspetto importante è che il file è simile al file mod_helloworld.php.
la variabile $hello può essere definita nel file mod_helloworld.php
e può essere utilizzato nel file $hello senza alcune dichiarazioni o
chiamate di funzione supplementari.
Creazione di mod_helloworld.xml
il file mod_helloworld.xml sarà utilizzato per specificare quali sono i file
che l'installer deve copiare ed è usato per determinare quali sono i parametri di
configurazione per il modulo. Altre informazioni sul modulo inoltre sono specificate
in questa file.
Eccone il codice
<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
<name>Hello, World!</name>
<author>John Doe</author>
<version>1.5.0</version>
<description>A simple Hello, World! module.</description>
<files>
<filename module="mod_helloworld">mod_helloworld.php</filename>
<filename>index.html</filename>
<filename>helper.php</filename>
<filename>tmpl/default.php</filename>
<filename>tmpl/index.html</filename>
</files>
<params>
</params>
</install>
Noterete che ci sono due file supplementari a cui ancora non abbiamo accennato:
index.html e tmpl/index.html.
Questi file sono inclusi in modo da non potere passare in rassegna questi index.
Queste file possono essere lasciati vuoti o possono contenere una semplice riga:
<html><body bgcolor="#FFFFFF"></body></html>
Poiché il nostro modulo non usa alcun parametro, questa pagina è vuota.