Los Nueve Principios del Desempeño de la Sostenibilidad
Desarrollar un módulo para joomla
1. Desarrollar un módulo para
Joomla
Un módulo es un elemento de contenido que puede ser situado junto
a un artículo. Por ejemplo, un menú es un módulo. El pequeño bloque
de registro de la parte izquierda, también es un módulo. Puedes crear
tantos módulos como quieras, y colocarlos en distintas áreas
predefinidas de la plantilla.En este tutorial se explica cómo crear un
módulo simple. A través del cual, aprenderá la estructura básica de
archivos de un módulo. Esta estructura básica puede ser ampliada
para producir módulos más elaborados.
2. Todo el contenido expuesto en este artículo, está extraído y traducido de la
documentación que la comunidad de Joomla! ofrece íntegramente en inglés
en su sección para desarrolladores. Para más información siga este enlace.
– Estructura de archivos
• Hay cuatro archivos básicos que se utilizan dentro del patrón estándar en
el desarrollo de un módulo:
• mod_author_related.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_author_related.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.
3. Creación del mod_author_related.php
El archivo mod_author_related.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 las siguientes líneas:
$cacheparams = new stdClass;
$cacheparams->class = 'modAuthorRelatedHelper';
$cacheparams->method = 'authorRelated';
$list = JModuleHelper::moduleCache ($module, $params, $cacheparams);
Y para incluir la plantilla que muestra el HTML de nuestro módulo, usamos está línea:
require JModuleHelper::getLayoutPath('mod_author_related', $params->get('layout', 'default'));
4. Visto esto, nuestro archivo mod_author_related.php completo
es el siguiente:
<?php
// No permitir el acceso directo al archivo
defined('_JEXEC') or die;
// Incluye las funciones sólo una vez
require_once dirname(__FILE__).'/helper.php';
// Invocar el método apropiado
$cacheparams = new stdClass;
$cacheparams->cachemode = 'safeuri';
$cacheparams->class = 'modAuthorRelatedHelper';
$cacheparams->method = 'authorRelated';
$cacheparams->methodparams = $params;
$cacheparams->modeparams = array('id'=>'int', 'Itemid'=>'int');
$list = JModuleHelper::moduleCache ($module, $params, $cacheparams);
if (!count($list)) {
return;
}
$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'));
$showDate = $params->get('showDate', 0);
// Incluir la plantilla que mostrará los datos recogidos
require JModuleHelper::getLayoutPath('mod_author_related', $params->get('layout', 'default'));
5. Creación del mod_author_related.xml
• El mod_author_related.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_author_related.xml es lo podéis descargar más tarde
• Como podrán darse cuenta es un archivo XML como cualquier otro en
Joomla!. Pero considero importante resaltar, que existen módulos tanto
para la administración, como para la interfaz de usuario, por lo que es
necesario definir en nuestro archivo XML, a donde va a pertenecer el
módulo. En nuestro caso creamos un módulo para la interfaz de usuario,
por lo que lo especificamos incluyendo, client="site" .
6. • Como podrán darse cuenta hemos usado para el idioma de
nuestro módulo, algunas constantes que necesitan que le
añadamos valores. Estos valores se los damos precisamente
en los archivos de lenguaje especificados en el XML. Como
no hemos creado estos archivos, pues nos ponemos en ello
y le añadimos lo siguiente:
• es-ES.mod_author_related.ini
• MOD_AUTHOR_FIELD_SHOWDATE_DESC="Mostrar /
Ocultar Fecha"
MOD_AUTHOR_FIELD_SHOWDATE_LABEL="Mostrar fecha"
en-GB.mod_author_related.ini
• MOD_AUTHOR_FIELD_SHOWDATE_DESC="Show/Hide
Date" MOD_AUTHOR_FIELD_SHOWDATE_LABEL="Show
Date"
7. • Y con esto hemos logrado que nuestro módulo esté en diferentes
idiomas.
• Te darás cuenta de que hay dos archivos adicionales que aún no hemos
mencionado: index.html y tmpl / index.html. Estos archivos se
incluyen para que no se pueda acceder directamente a estas carpetas
o directorios. Si un usuario intenta apuntar su navegador a estas
carpetas, el archivo index.html se mostrará. Estos archivos se pueden
dejar vacíos o contener esta simple línea:
• <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
• index.html
• en-GB.mod_author_related.ini
• es-ES.mod_author_related.ini
• tmpl / default.php
• tmpl / index.html
8. • Ahora solo nos resta instalar y probar. Para
esto empaquetamos nuestro módulo en un
.zip y lo instalamos a través del gestor de
extensiones de Joomla!. También recuerda,
que puedes descargar el módulo
directamente, solo sigue hasta el final del
artículo donde vera el enlace a la descarga. A
continuación les mostramos algunas imágenes
del proceso de instalación y funcionamiento
del módulo.
10. Accedemos al gestor de módulos y localizamos el módulo recién
instalado. Le damos clic, para configurarlo.
11. • Aquí configuramos nuestro módulo, nombre, posición, etc. Si te fijas también, a la
derecha están los parámetros que hemos puesto en nuestro archivo XML, por
ejemplo, el de mostrar o no junto al título del artículo su fecha.
12. • Una vez publicado el módulo accedemos al sitio para visualizarlo. Como
puedes apreciar, no lo vemos por ninguna parte, esto es porque, este
módulo está configurado para salir, solo si hemos entrado en algún
artículo. Esto debe ser así, ya que una vez entrado en un artículo podemos
ver el autor del mismo, y a partir de ahí sacar otros artículos creados por
él y mostrarlos. Por tanto, entramos en un artículo para lograr ver al fin
nuestro módulo.
13. • Como puedes apreciar hemos entrado en el artículo, y a la parte
derecha tenemos un listado de todos los artículo del autor. Por
supuesto que "TODOS" los artículos es una locura, ya que como en
este caso la lista es bastante extensa. Por lo que le pueden seguir
añadiendo más cosas al módulo y ponerlo de acorde a sus
necesidades, ya que lo principal en la creación de un módulo para
Joomla! 2.5 está puesto.