Joomla tiene cuatro extensiones:
- Modulos
- Componentes
- Plugins
- Plantillas
Los módulos son las extensiones más sencillas en Joomla, Son pedazos de código que podemos colocar en cualquier parte y en cualquier número. Los siguientes datos es parte de lo que investigué en la página de
joomla.org/Developpers:
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.
Con esta estructura de archivos, se está siguiendo un esquema MVC, donde la "Vista" es el archivo
default.php y las reglas de negocio se encuentran en
helper.php.
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.
Aqui ek primer despiste; helper a mi me sonaba como archivos para desplegar la ayuda, pero son las rutinas auxiliares. Punto muy importante, se utiliza
PHP orientado a objetos.
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 );
Recuerde que es programación ortinetada a objetos. Estamos definiendo una método que se llama
getHello() y estamos pasando un parámetro. El primer archivo completo quedaría así:
<?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
Opcionalmente puede añadir los archivos
- 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