Programación de Componentes para Joomla (Gabriel Cuesta)

Post on 13-Jun-2015

1.596 views 1 download

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)

Programación de componentes para Joomla! 1.5

Por Gabriel Cuesta Arza@gabicuesta

http://www.adwa.es

Asociación de Balnearios Comunidad

Valenciana

¿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

Frontend y Backend• Frontend

Frontend y Backend• Backend

Extensiones• Componentes• Módulos• Plantillas

• Plugins• Idiomas

Los componentes• ¿Qué son y para qué sirven?• Frontend y Backend• Ejemplos de componente:– Joomfish– Virtuemart– Joomlaexplorer

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

El patrón MVC

El patrón MVC en Joomla!

Hola Mundo

• Objetivo del componente• Paquete de instalación• Instalación• /index.php?option=com_hello&view=hello • “Hello world”

Hola Mundo - Carpetas

• JModel, JView y Jcontroller• site• site/views• site/views/tmpl• site/models• admin

Hola Mundo - Ficheros

• Instalador -> hello.xml• Punto de entrada -> hello.php• Vista -> views/hello/view.html.php• tmpl/default.php• ficheros index.html

Hola Mundo - Instalador

• Elementos descriptivos• Ficheros del frontend• Ficheros del backend• tmpl/default.php• Preparación del paquete

Hola Mundo - Resultado

Hola Mundo v2.0

• Objetivo del componente• Paquete de instalación• Instalación• /index.php?option=com_hola&view=hello • “Hola mundo”

Hola Mundo v2.0

• Añadiendo un módulo “real”• $greeting = “Hello world"; por • $model = &$this->getModel();• $greeting = $model->getGreeting();

Hola Mundo v2.0 - Resultado

Hola Mundo v3.0

• Objetivo del componente• Paquete de instalación• Instalación• /index.php?option=com_hello&view=hello • “Hello World”

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

Hola Mundo v3.0 - Resultado

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

Backend de un componente

• Framework básico (estructura ficheros)• El módelo (Hellos model)• La vista (Hellos view)• El template (Hellos template)

Backend de un componente

• Añadiendo interacción:• Toolbar• Checkboxes• Enlaces

• El controlador (Hello controller)• La vista (Hello view)• El modelo (Hello model)

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)

Muchas gracias@gabicuesta