Programación de componentes bajo Joomla! 1.5.
Frameworks, Joomla, Programación

En este post he hecho una recopilación de los tutoriales que he ido escribiendo sobre como crear componentes en Joomla! 1.5 siguiendo el patrón Modelo Vista Controlador.

En este post he hecho una recopilación de los tutoriales que he ido escribiendo sobre como crear componentes en Joomla! 1.5 siguiendo el patrón Modelo Vista Controlador.
El tutorial anterior fue una introducción a la creación de componentes en Joomla 1.5, pero aun faltan muchas cosas.
Faltan cosas como el acceso a datos mediante el framework de Joomla, los tasks y más cosas que se me escapan he iré completando más adelante.
Para la parte de back-end, el sistema es el mismo, lo único que deberemos de ubicar el componente en la carpeta administrator/components . El acceso al componente es por la URL …tuSitio/administrator/index.php?option=com_prueba .
El api de Joomla! nos provee de unos objetos específicos para operar con bases de datos.
Siempre que se pueda es recomendable usar estos objetos, en lugar de conectar directamente con las funciones de mysql que tiene php, ya que el API de Joomla! hace mucho trabajo por debajo, como protección contra inyección Sql, optimización, etc…
Para dar color al código fuente en Wordpress existe un plugin, que es el que uso, y que parece que funciona bien, se llama Dean’s Code Highlighter v1.2 .
La forma de instalarlo es la de siempre:
Una vez hecho esto, cuando quieras dar color a tu código fuente, simplemente mete tu código dentro de un <pre></pre> sin preocuparte las entidades html, es decir, no hace falta que pongas <br /> ni > ni nada por el estilo.
Al elemento <pre> tendás que ponerle un atributo lang con valor igual al lenguaje que quieras colorear, es decir, algo así :
<pre lang=”tuLenguaje”>
</pre>
El plugin usa Geshi , por lo que la lista de lenguajes soportados es la misma que podrás encontrar en el sitio de Geshi.
En los anteriores posts he hablado sobre el patrón MVC y sobre el concepto de front-end y back-end en Joomla!. Una vez entendido se puede empezar a programar un componente MVC en condiciones.
Iniciación: Construir un componente simple en Joomla! 1.5 Usando el patrón MVC.
Siguiendo el patrón MVC, vamos a crear un componente simple para joomla 1.5 al que llamaremos prueba. El objetivo de esta primera toma de contacto es entender la metodología de trabajo para crear el componente de joomla! 1.5.
Lo primero que haremos será ir a la carpeta principal de Joomla en nuestro servidor web. Dentro de esa carpeta localizar el directorio components .
Observa que dentro del directorio existen otros directorios que empiezan por com_xxxx . Esta es la primera norma que pone Joomla!: los componentes se deben de ubicar en un directorio cuyo nombre empieze por com_ seguido del nombre del componente, por ejemplo para el componente prueba seria com_prueba (este aspecto es similar a la parte de módulos que hemos visto anteriormente)
Por lo tanto creamos un directorio dentro del directorio components y lo llamamos com_prueba. Cuando llamemos a nuestro componente, lo primero que hace Joomla es buscar el archivo php que hay dentro con el mismo nombre que el componente y ejecutarlo. Este es el punto de entrada del componente. Creamos el fichero prueba.php dentro del directorio y de momento lo dejamos en blanco.
Implementación del MVC de Joomla! 1.5
En el artículo anterior hablé sobre el patrón MVC . MVC es un patrón genérico, después cada marco de trabajo tiene una forma de implementar este patrón.
El marco de trabajo de Joomla! proporciona una implementación sin archivos de configuración, al contrario de lo que hacen otros marcos de trabajo como Struts o JSF. Esto puede ser una ventaja o una desventaja según como se mire. Joomla no proporciona este archivo de configuración, sin embargo tiene otra forma de mapear las acciones del controlador. Joomla le da vital importancia al nombre que le tienes que dar a cada fichero del componente, es importantísimo que nombres bien el controlador, las vistas y los modelos de tu componente, de lo contrario Joomla no sabrá encontrarlos .
De esto hablaremos más adelante.
Introducción al concepto de front-end y back-end
Nuestro componente tendrá dos partes diferenciadas: el front-end y el back-end.
En el transcurso del desarrollo de nuestro componente podemos afrontar la parte de back-end y la de front-end como dos desarrollos distintos.
En la parte de back-end realizaremos labores de mantenimiento y configuración para la aplicación. Después, en la parte de front-end obtendremos los parámetros que previamente hemos configurado en la parte de back-end.
Por ejemplo, podemos crear un componente para gestionar recursos. En la parte de back-end del componente podríamos crear un formulario para subir el recurso al servidor, y ponerle un nombre , una categoría, etc… y en la parte de front-end simplemente generar una consulta a la base de datos y mostrar los recursos subidos al servidor. De esta manera solo los usuarios con privilegios de administrador podrían subir recursos al servidor.
Proximamente más …