![Page 1: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/1.jpg)
Programación de componentes para Joomla! 1.5
Por Gabriel Cuesta Arza@gabicuesta
![Page 2: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/2.jpg)
http://www.adwa.es
![Page 3: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/3.jpg)
Asociación de Balnearios Comunidad
Valenciana
![Page 4: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/4.jpg)
¿Qué es Joomla?• Es un CMS• Tecnología: PHP, MySql• Código Abierto• Origen: Mambo• Primera versión: 2005 – 1.0.0• Versión 1.x, versión 1.5.x• Versión 1.6.x beta
![Page 5: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/5.jpg)
Frontend y Backend• Frontend
![Page 6: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/6.jpg)
Frontend y Backend• Backend
![Page 7: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/7.jpg)
Extensiones• Componentes• Módulos• Plantillas
• Plugins• Idiomas
![Page 8: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/8.jpg)
Los componentes• ¿Qué son y para qué sirven?• Frontend y Backend• Ejemplos de componente:– Joomfish– Virtuemart– Joomlaexplorer
![Page 9: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/9.jpg)
Patrones de Diseño• ¿Qué son y para qué sirven?• Repetición, repetición, repetición…• Mismos problemas, mismas soluciones• Mucho uso en el desarrollo de software• Patrón MVC
![Page 10: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/10.jpg)
El patrón MVC
![Page 11: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/11.jpg)
El patrón MVC en Joomla!
![Page 12: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/12.jpg)
Hola Mundo
• Objetivo del componente• Paquete de instalación• Instalación• /index.php?option=com_hello&view=hello • “Hello world”
![Page 13: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/13.jpg)
Hola Mundo - Carpetas
• JModel, JView y Jcontroller• site• site/views• site/views/tmpl• site/models• admin
![Page 14: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/14.jpg)
Hola Mundo - Ficheros
• Instalador -> hello.xml• Punto de entrada -> hello.php• Vista -> views/hello/view.html.php• tmpl/default.php• ficheros index.html
![Page 15: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/15.jpg)
Hola Mundo - Instalador
• Elementos descriptivos• Ficheros del frontend• Ficheros del backend• tmpl/default.php• Preparación del paquete
![Page 16: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/16.jpg)
Hola Mundo - Resultado
![Page 17: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/17.jpg)
Hola Mundo v2.0
• Objetivo del componente• Paquete de instalación• Instalación• /index.php?option=com_hola&view=hello • “Hola mundo”
![Page 18: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/18.jpg)
Hola Mundo v2.0
• Añadiendo un módulo “real”• $greeting = “Hello world"; por • $model = &$this->getModel();• $greeting = $model->getGreeting();
![Page 19: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/19.jpg)
Hola Mundo v2.0 - Resultado
![Page 20: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/20.jpg)
Hola Mundo v3.0
• Objetivo del componente• Paquete de instalación• Instalación• /index.php?option=com_hello&view=hello • “Hello World”
![Page 21: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/21.jpg)
Hola Mundo v3.0
• Bases de datos -> $db =& JFactory::getDBO(); • Cómo hacer una query• Creando fichero de instalación de sql• Creando fichero de desinstalación de sql • Install y Uninstall en el fichero de instalación
![Page 22: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/22.jpg)
Hola Mundo v3.0 - Resultado
![Page 23: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/23.jpg)
Backend de un componente
• También sigue el patrón MVC • Punto de entrada• Hello y Hellos• Añadir, editar y borrar• Un modelo, un controlador y una vista para
cada tipo de dato
![Page 24: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/24.jpg)
Backend de un componente
• Framework básico (estructura ficheros)• El módelo (Hellos model)• La vista (Hellos view)• El template (Hellos template)
![Page 25: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/25.jpg)
Backend de un componente
• Añadiendo interacción:• Toolbar• Checkboxes• Enlaces
• El controlador (Hello controller)• La vista (Hello view)• El modelo (Hello model)
![Page 26: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/26.jpg)
Backend de un componente
• El formulario (hello template)• Grabando un dato (store y save)• La clase JTable • Borrando un dato (remove -> delete)• Cancelando… (hello controller)
![Page 27: Programación de Componentes para Joomla (Gabriel Cuesta)](https://reader033.vdocuments.co/reader033/viewer/2022052322/557bbc76d8b42aac088b4b6c/html5/thumbnails/27.jpg)
Muchas gracias@gabicuesta