Programación de Componentes para Joomla (Gabriel Cuesta)
-
Upload
congreso-internet-del-mediterraneo -
Category
Technology
-
view
1.600 -
download
1
description
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