LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

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.

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 que mod_logedusers.php. "DS" corresponde a la constante predefinida DIRECTORY_SEPARATOR.

  $hello=modLogedUsersHelper::getUsers(); 

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ón getLayoutPath 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_once dirname(__FILE__) . DS . 'helper.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 archivo mod_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 fichero mod_logedusers.zip y haremos clic sobre el botón “Subir e instalar”.



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.


 Puedes leer ahora, un módulo algo más complejo, aquí:

Programar un sencillo módulo para Joomla 2.5.X

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías