Creando Componentes en Joomla

Parte I: Estructura

Joomla tiene muchos componentes que podemos usar para realizar las funcionalidades que muchas webs necesitan, pero hay casos en que el componente necesario no existe o no hace exactamente lo que queremos, para ello necesitamos adaptarlo o crearlo.

Para crear o modificar un componente tenemos que tener clara su estructura, joomla se basa en el patr贸n MVC ( Model View Control). Esto significa que estructura el c贸digo en 3 modulos.

mvc2 M贸dulo Control es el que se encarga del control de la aplicaci贸n, de ir llamando a los otros dos m贸dulos y del control de datos de uno a otro.

El m贸dulo Model es el encargado de tratar los datos, acceder a la base de datos y pasarle esos datos de vuelta al m贸dulo control.

El m贸dulo View es el que se encarga de todo lo referente a mostrar la informaci贸n por pantalla y de gestionar los templates.

Esa era la teor铆a de la estructura, ahora聽 os voy a explicar c贸mo esa estructura ideal de la que tanto hemos o铆do hablar se plasma en los archivos y directorios de una p谩gina.

Esta estructura es la misma tanto para un componente de backend como uno de frontend. Solo cambiaria el directorio desde el cual cuelga, siendo /components para un componente del frontend y /administrator/components para uno del backend. Aparte se puede especificar en los archivos si tendr谩n acceso restringido o no.

arbol
El directorio principal del componente se llamara com_. El聽 nombre del componente ser谩 el que nosotros queramos definir, dentro del directorio deber谩 haber un archivo con el mismo nombre y un controller, aparte de los directorios models y views.

El archivo con el mismo nombre del componente cargar谩 la clase controller 鈥淛Controller鈥, que como hemos visto antes ser谩 la parte de Control del aplicativo.

Para acceder al componente y a los diferentes m茅todos, lo haremos a trav茅s de la url, especific谩ndolo de la siguiente forma:

Frontend:http://www.pagina.com/index.php?option=&task=
Backend:http://www.pagina.com/administrator/index.php?option=&task=

Donde el par谩metro task indica la funci贸n que querremos ejecutar de la clase controler, sino especificamos ese par谩metro por defecto ejecutar谩 la funci贸n display.

Dijimos que hay 2 directorios que cuelgan directamente del componente, el views y el models, como bien dice su nombre ser谩n los correspondientes a la parte de View y Model del componente respectivamente.

En el directorio models, tendremos diferentes archivos y diferentes clases tipo 鈥淛Model鈥, podremos escoger cual queremos usar con el comando: 鈥$modelo =& $this->getModel(nombre1);鈥

El otro directorio es el views, contiene un directorio por cada una de las vistas que queremos. En esos directorios encontraremos las clases 鈥淛view鈥 que son las diferentes vistas que puede tener nuestra aplicaci贸n y estar谩n dentro de un archivo que llamaremos 鈥渧iew.
.php鈥. Podemos escoger cual de ellas usar mediante este comando 鈥淛Request::setVar(‘view’, ‘nombre1鈥);鈥 o especificado desde el url con el par谩metro pasado por get view, ejemplo: &view=nombre1″>http://www.pagina.com/index.php?option=&view=nombre1

Tambi茅n podemos escoger a trav茅s de la url el formato especifico de la vista:
http://www.pagina.com/index.php?option=&view=nombre1&format=

Dentro del mismo directorio de la vista, tendremos un subdirectorio llamado tmpl, donde albergaremos los templates de esa vista. Podremos escoger que template usar con el siguiente comando: 鈥淛Request::setVar(‘layout’, ‘nombre1鈥);鈥

This entry was posted in Joomla. Bookmark the permalink.

Deja un comentario

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos necesarios est谩n marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>