Últimas Publicaciones

Hola Mundo!

Bueno espero que con las definiciones que puse abajo sean suficientes, ire añadiendo conceptos como sea necesario, si algo no esta claro pueden preguntar y complementaremos las definiciones.

Vamos con algo más emocionante xD, como todo programador el inicio siempre es el “Hola Mundo!” así que esta no sera la excepción. Comenzaremos haciendo un pequeño modulo que despliege nuestro mensaje.

Estructura de un modulo

Bueno como ya mencionamos Joomla! utiliza el patron MVC así que definiremos nuestros archivos siguiendo este patron.

<DIR>[mod_holaMundo]
         helper.php
         index.html
         mod_holamundo.php
         mod_holamundo.xml
         <DIR>[tmpl]
                default.php
                index.html

[<dir> mod_holaMundo] El primer directorio es el que contiene todos nuestros archivos.

[helper.php] Este archivo sera nuestro modelo, dentro procesaremos los datos que mande el usuario, haremos consultas sql etc…

[index.html] Este archivo solo es para evitar el acceso directo a la carpeta, no es necesario pero es una buena tecnica indicada por la documentación oficial de Joomla!

[mod_holamundo.php] Este archivo sera nuestro controlador, desde aquí mandaremos a traer a las funciones definidas en helper.php. Es importante diferenciar que en helper.php programaremos el acceso a los datos mientras que en mod_holamundo.php una vez que tenemos nuestros datos se encarga de pasarlos a la vista.

[mod_holamundo.xml] En este archivo definiremos las configuraciones del modulo (las cuales podemos modificar desde el panel de administración), versión, archivos con los que trabajaremos, idiomas, parametros para que Joomla! identifique nuestro modulo, etc… Conforme avancemos iremos detallando los diferentes parametros que podemos incluir en este archivo.

[<dir> tmpl] En esta carpeta estan los elementos para nuestras vistas

[default.php] Este archivo es nuestra vista en el mostraremos los datos ya procesados para mostrarlos de una manera conveniente al usuario.

Fácil no?

Ahora a lo bueno.

Comenzamos definiendo el archivo mod_holamundo.xml

<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
    <name>Hola Mundo!</name>
    <author>David Flores (dmouse)</author>
    <authorEmail>dmousex@gmail.com</authorEmail>
    <authorUrl>http://dmouse.icenetx.net</authorUrl>
    <version>0.1</version>
    <description>Hola Mundo en Joomla!</description>
    <files>
        <filename>mod_holamundo.xml</filename>
        <filename module="mod_holamundo">mod_holamundo.php</filename>
        <filename>index.html</filename>
        <filename>helper.php</filename>
        <filename>tmpl/default.php</filename>
        <filename>tmpl/index.html</filename>
    </files>
    <params>
	<param name="veces" type="text" label="Numero de veces que se repite el mensaje" default="5"/>
	<param name="mensaje" type="text" label="Mensaje" default="Hello DevNote!"/>
    </params>
</install>

Como vemos las tags nos indican basicamente los datos que tenemos que poner. Explicare apartir de <files> dentro de esta tag definiremos los archivos que vamos a usar por ejemplo si tuviéramos un archivo css tendriamos que incluirlo <filename>tmpl/style.css</filename>, cualquier archivo que no este definido a la hora de la instalación Joomla! no lo tomara en cuenta.

El tag <params> aquí definiremos las opciones que veremos en la administración de nuestro modulo en este caso definimos 2 parametros de tipo texto. El primer parametro “veces” nos indicara cuantas veces queremos que salga nuestro mensaje. El segundo parametro “mensaje” nos indicara el mensaje que sera mostrado. “default” nos indicara lo que tendra por defecto.

Despues pondre una lista con los tipos de podemos usar en los tag <param>.

Ahora definimos nuestro archivo helper.php

<?php
 class modHolaMundoHelper {
    /**
     * Función que procesa el mensaje y regresa un arreglo con ellos.
     *
     * @param arreglo que contiene los parametros del modulo.
     * @access publico
     */

    function getHola( $params ) {

        //obtenemos el parametro "veces" que definimos en el archivo mod_holamundo.xml
	$n = (int) $params->get('veces');
        //obtenemos el parametro "mensaje" que definimos en el archivo mod_holamundo.xml
	$msg = $params->get('mensaje');

        //cosas phperas
	$rtn = array();
	for ($i=0; $i<$n; $i++)
	    array_push($rtn,$msg);

        //regresamos el array con n mensajes.
        return $rtn;
    }
}
?>

Espero que los comentarios sean suficientes.

Pasamos a definir nuestro archivo mod_holamundo.php

<?php
/*(1) Evitamos el acceso directo */
   defined( '_JEXEC' ) or die( 'Acceso Restringido' );

/*(2) Incluimos el archivo helper */
   require_once( dirname(__FILE__).DS.'helper.php' );

/*(3) Llamamos la función que procesa nuestros datos y mandamos como parametro los parametros de configuración del modulo */
   $hola = modHolaMundoHelper::getHola( $params );

/*(4) Mandamos a traer nuestra vista el archivo tmpl/default.php */
require( JModuleHelper::getLayoutPath( 'mod_holamundo' ) );

?>

(1) Evitamos el acceso directo a nuestro modulo “_JEXEC” es una variable que define Joomla! y si no esta definida es por que no se esta accediendo desde Joomla!.

(2) Incluimos nuestro archivo helper.php donde hemos definido las funciones para el acceso a datos.

(3) Llamamos a nuestra función.

(4) “JModuleHelper::getLayoutPath( ‘mod_holamundo’ ) “ nos regresa el path de nuestro archivo default.php algo como esto “/public_html/Joomla/modules/mod_holamundo/tmpl/default.php” en cual esta la vista para mostrar nuestros datos.

En los archivos index.html ponemos esto.

<html><body bgcolor="#FFFFFF"></body></html>

Despues hacemos zip nuestra carpeta y la instalamos en nuestro Joomla! listo tenemos nuestro hola mundo!.

Cualquier duda comenten :P y si no tambien xD.

Pre-(Hola, mundo)

Hola a todos los interesados en el desarrollo en Joomla!, comenzaremos el blog platicando algunos conceptos básicos.

¿Qué es Joomla!?

Joomla! es principalmente una herramienta de desarrollo web, calificada como C.M.S o Content Management System, sistema de administración de contenidos. Es una aplicación de código abierto construida mayoritariamente en PHP bajo una licencia GPL. Este administrador de contenidos requiere de una base de datos MySQL, así como preferiblemente, de un servidor HTTP Apache.

Datos curiosos de Joomla!

En Joomla! se incluyen características como: hacer caché de páginas para mejorar el rendimiento, indexamiento web, feed RSS, versiones imprimibles de páginas, flash con noticias, blogs, foros, encuestas, calendarios, búsqueda en el sitio web, e internacionalización del lenguaje.Su nombre es una pronunciación fonética para anglófonos de la palabra swahili jumla que significa “todos juntos” o “como un todo”. Se escogió como una reflexión del compromiso del grupo de desarrolladores y la comunidad del proyecto.

La primera versión de Joomla! (Joomla! 1.0.0) fue publicada el 16 de septiembre de 2005 y se trataba de una evolución mejorada de Mambo 4.5.2.3 combinada con modificaciones de seguridad y anti-bugs. Actualmente los programadores han publicado Joomla! 1.5 estable, con un código completamente reescrito y construido bajo PHP5.

Una de sus mayores potencialidades que tiene este CMS es la gran cantidad de extensiones existentes programadas por su comunidad de usuarios que aumentan las posibilidades de Joomla con nuevas características y que se integran fácilmente en él.
(Fuente wikipedia).

MVC

El MVC o Model View Controller (Modelo Vista Controlador) es un patrón que se utiliza en la arquitectura de software que separa el manejo de datos de una aplicación, la interfaz del usuario y la lógica de control.

Esta forma de programar es utilizada bastante en el ámbito de la programación Web para facilitar el ordenamiento del código y la simplicidad para crearlos.

De esta manera se separan los componentes en la nueva versión de Joomla (1.5).

Modelo

La parte del modelo es la que encapsula toda la información del componente. Ofrece varias rutinas para manipular la información enviada por el usuario.

Controlador

El controlador es el responsable de responder a las peticiones de los usuarios y manipular los datos para después devolverlos.

Vista

La vista se encarga de obtener la información a mostrar y pasarla al template html (tmpl).

Templates

Son las vistas definidas para ser usadas en Joomla, dependiendo del template tendremos diferentes posiciones (top, left, etc…).

Modulos

Los módulos son pequeños scripts que se pueden insertar en cualquier posición de un sitio que utiliza Joomla.

Dependiendo del template (que es el que maneja toda las posiciones de visualización) se puede colocar en cualquier lugar del sitio configurándolo desde la administración.

Componentes

Los componentes son pequeños scripts que se agregan en Joomla y nos permiten la manipulación de los datos para un objetivo en particular.