Joomla tiene cuatro extensiones:
- Modulos
- Componentes
- Plugins
- Plantillas
Estructura de archivos
Iniciaremos, aunque usted no lo crea, con el "hola mundo". Hay cuatro archivos básicos que se utilizan dentro del patrón estándar en el desarrollo de un módulo:- mod_
helloworld
.php - Este archivo es el principal punto de entrada para el módulo. Se llevarán a cabo las rutinas de inicialización necesarias, llamar a las rutinas auxiliares para recoger todos los datos necesarios, e incluir la plantilla que muestra la salida del módulo. - mod_
helloworld
.xml - Este archivo contiene información acerca del módulo. En él se definen los archivos que necesitan ser instalados por el instalador de Joomla! y especifica los parámetros de configuración del módulo. - helper.php - Este archivo contiene la clase helper que se utiliza para hacer el trabajo real en la recuperación de la información que se muestra en el módulo (por lo general a partir de la base de datos o alguna otra fuente).
- tmpl / default.php - Esta es la plantilla del módulo. Este archivo tomará los datos recogidos por el mod_author_related.php y generará el código HTML que se muestra en la página.
Faltan otros dos archivos, como veremos más adelante, que servirán para preveer que alguien ejecute directamente muestro módulo entrando a su directorio o carpeta.
1) Creación del mod_helloworld.php
Primero crea una carpeta para almacenar tu super módulo. Por tradición milenario se llamaría como se llama tu módulo, en este caso mod_helloworld y ahi vas escribiendo y almacenandotus archivos.El archivo mod_helloworld.php llevará a cabo tres tareas:
- Incluir el archivo helper.php que contiene la clase que se utiliza para recoger los datos necesarios.
- Invocar el método apropiado para recuperar los datos.
- Incluir la plantilla para mostrar la salida.
Siguiendo estos tres puntos, vamos a colocar un poco de código en nuestro archivo.
La clase helper está definida en nuestro archivo helper.php .
Este archivo se incluye con la declaración require_once .
require_once dirname(__FILE__).'/helper.php';
require_once se utiliza porque nuestras funciones auxiliares se definen dentro de una clase, y sólo queremos la clase definida, una vez.
Para invocar a nuestro método utilizaremos la siguiente líneas:
$hello = modHelloWorldHelper::getHello( $params );
<?php // 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' ) ); ?>
La clase modHelloWorldHelper se crea dentro del archivo helper.php, como se ve a continuación
2) Creación del helper.php
El archivo helper.php contiene la clase necesaria para recuperar los datos que se muestran en la salida del módulo. Esta clase a su vez tendrá un método que se encargara de dicha tarea.Aquí está el código para el archivo helper.php:
<?php class modHelloWorldHelper { public static function getHello( $params ) { return 'Hello, World!'; } } ?>
En el ejemplo estamos leyendo un parámetro que no utilizamos, pero es para preveer su uso, aunque obviamente aqui no es necesario. Creamos la clase modHelloWorldHelper (que no hay ninguna regla que te obligue escribir con esa sintaxis el nombre de la clase, pero ya es un clásico en la comunidad de joomleros) y luego el método getHello, donde puedes vaciar todos tus conocimientos sobre la herramienta e impresionar a tus cuates.
3) Creación del tmpl/default.php
El archivo default.php es la plantilla que muestra la salida del módulo. El código para el archivo default.php es el siguiente:<?php // no direct access defined( '_JEXEC' ) or die( 'Restricted access' ); ?> <?php echo $hello; ?>
O sea, que hay que hacer una carpeta que se llame tmpl y ahi guardar el archivo. Ojo.
4) Creación del mod_helloworld.xml
El mod_helloworld.xml se utiliza para especificar los archivos que el instalador tiene que copiar, y sean usados por el gestor de módulos para determinar qué parámetros se utilizan para configurar el módulo. Otras informaciones sobre el módulo también se especifica en este archivo.El código para mod_helloworld.xml es el siguiente:
<?xml version="1.0" encoding="utf-8"?> <extension type="module" version="2.5.0" client="site" method="upgrade"> <name>Hello, World!</name> <author>John Doe</author> <version>1.0.0</version> <description>A simple Hello, World! module.</description> <files> <filename>mod_helloworld.xml</filename> <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> <config> </config> </extension>
Si ha manejado otras aplicaciones, como el SCORM, verá que es muy similar al "manifiesto".
Y si observa, aparecen dos archivos invitados nuevos: index.html y tmpl/index.html. Ambos son para preveer a los aprendices de hacker entrar a nuestra carpeta. Este archivo puede ser tan sencillo como:
<html><body bgcolor="#FFFFFF"></body></html>
Con esto hemos completado nuestro directorio del módulo, el cual deberá tener los siguientes archivos:- mod_author_related.php
- mod_author_related.xml
- helper.php
- tmpl / default.php
- index.html
- tmpl / index.html
Si no va a utilizar los archivos html, no olvide también quitarlos del manifiesto.
Empaquete en un formato zip todos los archivos (no el directorio, sino solo los archivos y la carpeta tmpl).Intégrelos a Joomla por medio de Extensiones
Colóquelo dentro de la página con Extensiones > Administrador de módulos
Asi tendremos un módulo muy sencillo en Joomla! y lo mejor de todo es que si funciona. El presente blog fue tomado delmanual de desarrolladores.
Los archivos los encuentras aqui.
http://www.pacoarce.com
No hay comentarios:
Publicar un comentario