Hola Mundo!
Bueno espero que con las definiciones que puse abajo sean suficientes, ire añadiendo conceptos como sea necesario, si algo no esta claro pueden preguntar y complementaremos las definiciones.
Vamos con algo más emocionante xD, como todo programador el inicio siempre es el “Hola Mundo!” así que esta no sera la excepción. Comenzaremos haciendo un pequeño modulo que despliege nuestro mensaje.
Estructura de un modulo
Bueno como ya mencionamos Joomla! utiliza el patron MVC así que definiremos nuestros archivos siguiendo este patron.
<DIR>[mod_holaMundo]
helper.php
index.html
mod_holamundo.php
mod_holamundo.xml
<DIR>[tmpl]
default.php
index.html
[<dir> mod_holaMundo] El primer directorio es el que contiene todos nuestros archivos.
[helper.php] Este archivo sera nuestro modelo, dentro procesaremos los datos que mande el usuario, haremos consultas sql etc…
[index.html] Este archivo solo es para evitar el acceso directo a la carpeta, no es necesario pero es una buena tecnica indicada por la documentación oficial de Joomla!
[mod_holamundo.php] Este archivo sera nuestro controlador, desde aquí mandaremos a traer a las funciones definidas en helper.php. Es importante diferenciar que en helper.php programaremos el acceso a los datos mientras que en mod_holamundo.php una vez que tenemos nuestros datos se encarga de pasarlos a la vista.
[mod_holamundo.xml] En este archivo definiremos las configuraciones del modulo (las cuales podemos modificar desde el panel de administración), versión, archivos con los que trabajaremos, idiomas, parametros para que Joomla! identifique nuestro modulo, etc… Conforme avancemos iremos detallando los diferentes parametros que podemos incluir en este archivo.
[<dir> tmpl] En esta carpeta estan los elementos para nuestras vistas
[default.php] Este archivo es nuestra vista en el mostraremos los datos ya procesados para mostrarlos de una manera conveniente al usuario.
Fácil no?
Ahora a lo bueno.
Comenzamos definiendo el archivo mod_holamundo.xml
<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
<name>Hola Mundo!</name>
<author>David Flores (dmouse)</author>
<authorEmail>dmousex@gmail.com</authorEmail>
<authorUrl>http://dmouse.icenetx.net</authorUrl>
<version>0.1</version>
<description>Hola Mundo en Joomla!</description>
<files>
<filename>mod_holamundo.xml</filename>
<filename module="mod_holamundo">mod_holamundo.php</filename>
<filename>index.html</filename>
<filename>helper.php</filename>
<filename>tmpl/default.php</filename>
<filename>tmpl/index.html</filename>
</files>
<params>
<param name="veces" type="text" label="Numero de veces que se repite el mensaje" default="5"/>
<param name="mensaje" type="text" label="Mensaje" default="Hello DevNote!"/>
</params>
</install>
Como vemos las tags nos indican basicamente los datos que tenemos que poner. Explicare apartir de <files> dentro de esta tag definiremos los archivos que vamos a usar por ejemplo si tuviéramos un archivo css tendriamos que incluirlo <filename>tmpl/style.css</filename>, cualquier archivo que no este definido a la hora de la instalación Joomla! no lo tomara en cuenta.
El tag <params> aquí definiremos las opciones que veremos en la administración de nuestro modulo en este caso definimos 2 parametros de tipo texto. El primer parametro “veces” nos indicara cuantas veces queremos que salga nuestro mensaje. El segundo parametro “mensaje” nos indicara el mensaje que sera mostrado. “default” nos indicara lo que tendra por defecto.
Despues pondre una lista con los tipos de podemos usar en los tag <param>.
Ahora definimos nuestro archivo helper.php
<?php
class modHolaMundoHelper {
/**
* Función que procesa el mensaje y regresa un arreglo con ellos.
*
* @param arreglo que contiene los parametros del modulo.
* @access publico
*/
function getHola( $params ) {
//obtenemos el parametro "veces" que definimos en el archivo mod_holamundo.xml
$n = (int) $params->get('veces');
//obtenemos el parametro "mensaje" que definimos en el archivo mod_holamundo.xml
$msg = $params->get('mensaje');
//cosas phperas
$rtn = array();
for ($i=0; $i<$n; $i++)
array_push($rtn,$msg);
//regresamos el array con n mensajes.
return $rtn;
}
}
?>
Espero que los comentarios sean suficientes.
Pasamos a definir nuestro archivo mod_holamundo.php
<?php /*(1) Evitamos el acceso directo */ defined( '_JEXEC' ) or die( 'Acceso Restringido' ); /*(2) Incluimos el archivo helper */ require_once( dirname(__FILE__).DS.'helper.php' ); /*(3) Llamamos la función que procesa nuestros datos y mandamos como parametro los parametros de configuración del modulo */ $hola = modHolaMundoHelper::getHola( $params ); /*(4) Mandamos a traer nuestra vista el archivo tmpl/default.php */ require( JModuleHelper::getLayoutPath( 'mod_holamundo' ) ); ?>
(1) Evitamos el acceso directo a nuestro modulo “_JEXEC” es una variable que define Joomla! y si no esta definida es por que no se esta accediendo desde Joomla!.
(2) Incluimos nuestro archivo helper.php donde hemos definido las funciones para el acceso a datos.
(3) Llamamos a nuestra función.
(4) “JModuleHelper::getLayoutPath( ‘mod_holamundo’ ) “ nos regresa el path de nuestro archivo default.php algo como esto “/public_html/Joomla/modules/mod_holamundo/tmpl/default.php” en cual esta la vista para mostrar nuestros datos.
En los archivos index.html ponemos esto.
<html><body bgcolor="#FFFFFF"></body></html>
Despues hacemos zip nuestra carpeta y la instalamos en nuestro Joomla! listo tenemos nuestro hola mundo!.
Cualquier duda comenten
y si no tambien xD.