Programación de Componentes para Joomla (Gabriel Cuesta)

1,820 views

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,820
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Programación de Componentes para Joomla (Gabriel Cuesta)

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

×