Programación de Componentes para Joomla (Gabriel Cuesta)

27
Programación de componentes para Joomla! 1.5 Por Gabriel Cuesta Arza @gabicuesta

description

Presentación de Gabriel Cuesta sobre el gestor de contenidos Joomla en el I Cintermed

Transcript of Programación de Componentes para Joomla (Gabriel Cuesta)

Page 1: Programación de Componentes para Joomla (Gabriel Cuesta)

Programación de componentes para Joomla! 1.5

Por Gabriel Cuesta Arza@gabicuesta

Page 2: Programación de Componentes para Joomla (Gabriel Cuesta)

http://www.adwa.es

Page 3: Programación de Componentes para Joomla (Gabriel Cuesta)

Asociación de Balnearios Comunidad

Valenciana

Page 4: Programación de Componentes para Joomla (Gabriel Cuesta)

¿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)

Frontend y Backend• Frontend

Page 6: Programación de Componentes para Joomla (Gabriel Cuesta)

Frontend y Backend• Backend

Page 7: Programación de Componentes para Joomla (Gabriel Cuesta)

Extensiones• Componentes• Módulos• Plantillas

• Plugins• Idiomas

Page 8: Programación de Componentes para Joomla (Gabriel Cuesta)

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)

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)

El patrón MVC

Page 11: Programación de Componentes para Joomla (Gabriel Cuesta)

El patrón MVC en Joomla!

Page 12: Programación de Componentes para Joomla (Gabriel Cuesta)

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)

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)

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)

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)

Hola Mundo - Resultado

Page 17: Programación de Componentes para Joomla (Gabriel Cuesta)

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)

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)

Hola Mundo v2.0 - Resultado

Page 20: Programación de Componentes para Joomla (Gabriel Cuesta)

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)

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)

Hola Mundo v3.0 - Resultado

Page 23: Programación de Componentes para Joomla (Gabriel Cuesta)

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)

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)

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)

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)

Muchas gracias@gabicuesta