Crear plugin para Joomla 2.5

Despues de los artículos sobre cómo crear componente para Joomla 2.5, y crear un módulo para Joomla 2.5, nos faltaba la última de las posibles extensiones de funcionalidad de nuestro CMS. Así que en este post voy a explicar cómo crear un plugin para Joomla 2.5.

Cómo ya explique en el artículo Diferencias entre componente, módulo y plugin en Joomla, un plugin es una pieza de software que se ejecuta cuando se producen determinados eventos en nuestro Joomla. Digamos que podemos suscribirnos a esos eventos.

Cómo hemos hecho en los artículos anteriores, vamos a crear un plugin muy sencillo , que se ejecute justo antes de mostrar un artículo en nuestro sitio web. La única acción que va a llevar a cabo nuestro plugin, es escribir el texto “Hola mundo”, justo antes del texto del artículo. Para crear un plugin tan sencillo, solo necesitamos crear dos archivos:

  1. holamundo.xml
  2. holamundo.php

Archivo configuración plugin en Joomla 2.5 – holamundo.xml

Al igual que en el resto de las extensiones que podemos crear para joomla, en este archivo de indicamos al CMS algunos datos generales y los archivos que componen nuestro plugin.

<?xml version="1.0" encoding="utf-8"?>
<extension version="2.5" type="plugin" group="content">
    <name>plg_hola_mundo</name>
    <author>Mikel Garcia</author>
    <creationDate>Noviembre 2012</creationDate>
    <license>GNU General Public License version 2 or later; see LICENSE.txt</license>
    <version>1.0.0</version>
    <description>Escribe el texto "Hola Mundo", delante del artículo Joomla 2.5</description>
    <files>
        <filename plugin="holamundo">holamundo.php</filename>
        <filename>index.html</filename>
    </files>
    <config>
    </config>
</extension>

Debemos fijarnos bien en la segunda línea de este archivo. Como podemos ver, le decimos a Joomla 2.5 que la extensión es de tipo plugin y además que el plugin se encuentra dentro del grupo “content”.

Joomla tiene diferentes grupos de plugins, dependiendo de los eventos a los que nos queramos suscribir. En este caso como nos queremos subscribir a un evento del tipo “content” (contenido), debemos indicarle a Joomla que es en ese grupo donde queremos alojar los archivos de nuestro plugin. Si hubiesemos tenido que crear un plugin de busquedas, por ejemplo, deberiamos haber colocado nuestro plugin en el grupo “search”.

Una diferencia de Joomla 2.5 frente a su predecesor 1.5, es que en la versión actual, además de clasificar los plugins en grupos, se crea una carpeta dentro del grupo para cada plugin. Esto no sucedia en la versión anterior, donde todos los archivos se alojaban dentro de la carpeta del grupo.

Punto de entrada al plugin en joomla 2.5 – holamundo.php

Como en las extensiones explicadas anteriormente, este es el archivo al que Joomla 2.5, pasa el control cuando se activan los eventos a los que estamos subscritos con nuestro plugin.

<?php
defined('_JEXEC') or die;
class plgContentHolaMundo extends JPlugin{
    public function onContentBeforeDisplay($context, &$row, &$params, $limitstart){
        return "<h3>Hola Mundo</h3>";
    }    
}

Dentro de cada grupo de eventos, son varios los que tenemos disponibles. En nuestro caso, hemos elegido el evento “onContentBeforeDisplay”. Asi pues, cuando se produzca este evento, Joomla buscará todos los plugins del grupo “content” y buscara si tienen definida esta función. De ser así. esta será ejecutada.

En nuestro caso, lo único que hemos hecho es devolver la cadena “hola mundo”, envuelta en un tag h3.

Una vez acabado nuestro plugin, tenemos que empaquetarlo en un archivo ZIP, y subirlo al BackEnd de Joomla a traves de su “Gestro de Extensiones”.

Nuestro plugin, no es lo que podriamos denominar funcional, pero nos da la pista de cómo empezar a crear plugins para Joomla 2.5. Ahora, ya sólo debemos dejar volar nuestra imaginación para crear algo realmente útil.

Esta entrada fue publicada en Plugins. Guarda el enlace permanente.

6 respuestas a Crear plugin para Joomla 2.5

  1. gklecter dijo:

    Hola,

    En joomla 2.5 estoy tratando de crear este plugin de prueba, pero tengo el siguiente error.

    JInstaller: :Install: File does not exist /home3/drhrap/public_html/Joomla/tmp/install_5244570544d8d/plg_holamundo/index.html

    El zip está nombrado como plg_holamundo.zip y los archivos al interior son una carpeta “plg_holamundo” y dentro de esta holamundo.php y holamundo.xml.

    Gracias por tu colaboración.

  2. Alberto dijo:

    Curioso que hables de Joomla en un blog hecho en WordPress

  3. JoAnne dijo:

    Miraba lo que puso Alberto, y creo que no se fijo arriba que el link a esta pagina es:
    https://todojoomla.wordpress.com/2013/01/03/crear-plugin-para-joomla-2-5/

    “Todojoomla”

    Ademas, si esta compartiendo algo nuevo, no se cual es su problema, a lo mejor le gusta hacerse el “chistosito”, pero en fin…

    Gracias por tus aportes Mikel, saludos.

  4. inatento instalarlo y me sale este error Unknown Archive type

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