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.
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.
El directorio principal del componente se llamara com_
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=
Backend:http://www.pagina.com/administrator/index.php?option=
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.
Tambi茅n podemos escoger a trav茅s de la url el formato especifico de la vista:
http://www.pagina.com/index.php?option=
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鈥);鈥











Recent Comments