Crear libreria para joomla 2.5

En ocasiones tenemos librerias creadas por nosotros o por terceros, que nos gustaría poder utilizar en varias de nuestras extensiones. Tenemos varias opciones de poder realizar esto, pero vamos a aprender la más recomendable y reutilizable. Instalar un nueva libreria en Joomla.

A partir de la version 2.5 de nuestro CMS, tenemos un nuevo tipo de extensión, “Las librerias”. Podemos instalarlas como cualquier otra extensión. Nos van a resultar muy útiles para compartir y reutilizar código.

Como en los post anteriores, voy a utilizar un ejemplo MUY simple y fácil de entender. Tal vez no muy funcional en un entorno real, pero que nos permita entender el funcionamiento, y así poder crecer por nosotros mismos y realizar nuestros proyectos con la mayor profesionalidad posible.

El ejemplo se va a componer de una libreria denominada “Persona”. Ésta, está compuesta únicamente por la clase “Persona”. Con ella vamos a poder crear objetos Persona, con Nombre y Apellidos, que van a ser capaces de Saludar. Lo interesante del ejemplo, será que podremos utilizar nuestra clase Persona, en el resto de nuestros Componentes, Módulos, Plugins, o Plantillas.

Vamos a ver los archivos en los que está compuesta nuestra libreria:

Archivos libreria joomla 2.5

En realidad son solo dos los archivos importantes. Son el Persona.php y el persona.xml. La carpeta libs, la he incluido, para mostrar que nuestra libreria para joomla, puede ser tan compleja como nostros queramos. Y los archivos index.html, son simple seguridad para impedir listar los directorios. Al igual que en el resto de extensiones, el archivo xml, es el encargado de la instalación. Vamos a verlo más detalladamente:

<?xml version="1.0" encoding="utf-8"?>
<extension type="library" version="2.5">
    <name>Persona Library</name>
    <libraryname>persona</libraryname>
    <author>Mikel Garcia Urrutia</author>
    <creationDate>Enero 2013</creationDate>
    <copyright>++++++</copyright>
    <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
    <authorUrl>https://todojoomla.wordpress.com/</authorUrl>
    <version>1.0</version>
    <description>Libreria Persona para Demo</description>
    <files>
        <file>Persona.php</file>
        <file>index.html</file>
        <folder>libs</folder>
    </files>
</extension>

Las partes más importantes de este archivo son las siguientes:

  • El tag extensión. En el le indicamos a Joomla, a traves de su atributo “type”, que lo que estamos instalando es un libreria.
  • Name: Podemos indicar aquí un nombre descriptivo para nuestra extensión, pero no es relevante.
  • libraryname: Este es un tag fundamental. Es el nombre que Joomla dará a la carpeta que va a crear para albergar nustros archivos. Creará la nueva carpeta dentro del directorio “libraries”, de nuestra instalación de Joomla 2.5.
  • files: Este tag indica a Joomla, los archivos y carpetas que componen nuestra libreria, y serán los que el sistema copiará a la nueva carpeta creada.

Con este archivo le indicamos a Joomla todo lo que debe saber de nuestra nueva libreria. Es decir, donde queremos alojarla y los archivos que la componen.

Veamos ahora el archivo “persona.php”.

<?php
defined('_JEXEC') or die;
class Persona {
    private $Nombre;
    private $Apellidos;
    function __construct($nombre,$apellidos){
        $this->Nombre = $nombre;
        $this->Apellidos = $apellidos;
    }
    public function Saluda(){
        return "Hola, me llamo $this->Nombre $this->Apellidos";
    }
}

En nuestra nueva libreria de Joomla, este es el archivo que se va a encargar de aportarnos las funcionalidad. Es una clase muy simple, cuya unica funcionalidad va a ser la de crear personas, que sepan saludar. Todo un espectáculo ;). Lo más importante es que podremos importar este archivo en cualquiera de nuestras extensiones.

¿Cómo utilizar nuestra nueva libreria Joomla?

Bien, ya tenemos cargada la nueva libreria en nuestro sistema Joomla. Lo primero podemos asegurarnos de que todo a ido bien revisando la carpeta “libraries”, que se encuentra en el root de nuestra instalación. Ahora debe haber una nueva carpeta llamada “persona”, que contiene nuestros archivos.

Podemos incluir el archivo Persona.php utilizando las funciones típicas de PHP, como require, include, etc.. Pero Joomla ya tiene preparada uan nueva función para tal efecto: jimport().

La sintaxis de esta función es la siguiente:

<?php
jimport('libraryname.[carpeta1].[carpeta2].[carpetaN].archivo');

En nuestro caso, bastaría utilizar la función, en cualquiera de nuestras extensiones para poder hacer uso de ella. Es decir la usariamos de la siguiente manera:

<?php
jimport('persona.Persona');
$Persona = new Persona("Mikel","Garcia Urrutia");
echo $Persona->Saluda();
?>

Espero te resulte útil esta explicación de como crear nuevas librerias en Joomla 2.5. ¡¡¡Joomla is Fun!!!

Esta entrada fue publicada en Componentes, Modulos, Plugins. Guarda el enlace permanente.

2 respuestas a Crear libreria para joomla 2.5

  1. Victor dijo:

    Excelente

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