Creación de un módulo simple para Joomla! 2.5

Si desea iniciarse en la programación de Joomla, es ideal comenzar por la programación de módulos. En este artículo veremos como realizar un módulo para mostrar los usuarios conectados.

Creación de un módulo simple para Joomla! 2.5

Partiremos de una instalación limpia de Joomla 2.5.

Archivos del módulo

  • mod_logedusers.xml (archivo de instalación)
  • mod_logedusers.php (punto de entrada del módulo)
  • index.html (evita mostrar contenido de directorio)
  • helper.php (archivo con funciones de ayuda para nuestro módulo)
  • tmpl/default.php (template del módulo)
  • tmpl/index.html (evita mostrar contenido de directorio)

Convenciones que usa el framework de Joomla.

  1. El nombre del archivo de entrada php debe tener el formato “mod_nombremodulo.php”
  2. El nombre del archivo de instalación debe tener el formato “mod_nombremodulo.xml”
  3. El template del modulo debe ubicarse en “tmpl/default.php”
  4. En cada directorio debe incluirse el archivo index.html, con esto se evita que se pueda ver el contenido del directorio.

Configuración de los ficheros

Lo primero que vamos a hacer es crear los ficheros para que nuestro módulo muestre el famoso “Hola Mundo”.

mod_logedusers.xml

<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5.0" client="site" method="upgrade">
    <name>Loged Users</name>
    <author>Ramon Villanueva</author>
    <version>1.0.0</version>
    <description>Loged Users by database method</description>
    <files>
        <filename>mod_logedusers.xml</filename>
        <filename module="mod_logedusers">mod_logedusers.php</filename>
        <filename>index.html</filename>
        <filename>helper.php</filename>
        <filename>tmpl/default.php</filename>
        <filename>tmpl/index.html</filename>
    </files>
</extension>

Como podéis observar el fichero de instalación es sencillo e intuitivo.

Primeramente se especifica la versión del xml y la codificación usada.

<?xml version="1.0" encoding="utf-8"?>

A continuación se incluye la etiqueta “<extension>” dentro de la cual se incluirán el resto de las etiquetas. En ella especificaremos el tipo de extensión (module), la versión de joomla (2.5.0), en que parte del framework se usará la extensión “site”(front-end) o “administrator”(back-end) y el método de instalación, al indicar “upgrade” (actualización) podremos reinstalar la extensión sin necesidad de eliminarla.

<extension type="module" version="2.5.0" client="site" method="upgrade">

En la etiqueta “<files>” se incluyen todos y cada uno de los ficheros que componen nuestro módulo. Cabe destacar que el fichero de entrada al módulo (mod_logedusers.php) se especifica con el parámetro “module” para diferenciarlo.

mod_logedusers.php

<?php

defined( ‘_JEXEC’ ) or die(‘Restricted Access’); require_once dirname(__FILE__) . DS . ‘helper.php’; $hello=modLogedUsersHelper::getUsers(); require ( JModuleHelper::getLayoutPath(‘mod_logedusers’)); ?>

Vemos a continuación el fichero de punto de entrada.

defined( '_JEXEC' ) or die('Restricted Access');

“_JEXEC” es una constante definida en el framework de joomla. De esta manera evitamos que se ejecute el fichero php directamente.

require_once dirname(__FILE__) . DS . 'helper.php';

Requerimos el fichero helper.php que se encuentra en el mismo directorio quemod_logedusers.php. “DS” corresponde a la constante predefinida DIRECTORY_SEPARATOR.

$hello=modLogedUsersHelper::getUsers($params);

En el fichero helper.php declararemos la clase modLogedUsersHelper, la cual contendrá la función getUsers().

require ( JModuleHelper::getLayoutPath(‘mod_logedusers’));

A continuación requerimos el template (fichero tmpl/default.php). Para ello utilizamos la funcióngetLayoutPath de la clase JmoduleHelper del framework de Joomla pasándole como parámetro el nombre que tendrá el directorio de nuestro módulo (mod_logedusers). El template también puede ser requerido directamente
(“require (dirname(__FILE__) . DS . ‘tmpl’ . DS . ‘default.php’);”);

helper.php

<?php
class modLogedUsersHelper
{
    static function getUsers($params)
    {
        return 'Hello World';
    }
}

En el fichero helper crearemos las funciones para nuestro módulo. Por el momento creamos la función getUsers que es llamada desde el mod_logedusers.php. Observe que no se incluye la etiqueta de cierre de php “?>”.

tmpl/default.php

<?php
defined ('_JEXEC') or die('Restricted Access');
echo $hello;
?>

En el template tan solo mostramos el contenido de la variable $hello que mostrará “Hello World”.

Index.html y tmpl/index.html

<html></html>

En los ficheros index.html basta con introducir la etiqueta <html> y su cierre </html>. Con esto evitamos que se vea el contenido del directorio.

Instalación del módulo

Para instalar nuestro módulo primeramente comprimiremos todos los ficheros en el archivomod_logedusers.zip

A continuación, en el administrador de Joomla accederemos a la opción de menú “Extensiones/Gestor de extensiones”

En la sección “Subir paquete” de la pestaña “Instalar” seleccionaremos el ficheromod_logedusers.zip y haremos clic sobre el botón “Subir e instalar”.

 2013gext

Una vez instalado, iremos a la opción “Extensiones/Gestor de módulos” del menú y buscaremos el módulo loged users (puede ayudarse del filtro).

Haga clic en el módulo “Loged Users” para acceder a las opciones del módulo.

Cambie el título por “Usuarios conectados”.

Cambie el Estatus de despublicado a publicado.

Seleccione la posición “position-7” (O una de su elección).

Dentro de la sección “Menú Asignado” modifique la opción “Módulo Asignado” para que se muestre en todas las páginas.

Guarde los cambios del módulo y haga clic en la opción “Ver sitio” para visualizar el front-end.

home

 Fuente: http://magazine.joomla.org/es/ediciones-anteriores/agosto-2013/item/1426-creacion-de-un-modulo-para-ver-los-usuarios-conectados

Anuncios
Categorías: AplicacionesWeb | Etiquetas: , | Deja un comentario

Navegador de artículos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Blog de WordPress.com.

A %d blogueros les gusta esto: