Modulos Y Componentes Joomla

32
´ Indice Desarrollo de m´ odulos y componentes en Joomla Jes´ us Espino Garc´ ıa [email protected] Granada - Noviembre 2009 13 de noviembre de 2009 Jes´ us Espino Garc´ ıa [email protected] Desarrollo de m´ odulos y componentes en Joomla

description

Transparencias del taller sobre desarrollo de extensiones para el CMS Joomla! que dío Jesús Espino en la Asocación de Webmasters de Granada el 13 de Noviembre de 2009.

Transcript of Modulos Y Componentes Joomla

Page 1: Modulos Y Componentes Joomla

Indice

Desarrollo de modulos y componentes en Joomla

Jesus Espino Garcı[email protected]

Granada - Noviembre 2009

13 de noviembre de 2009

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 2: Modulos Y Componentes Joomla

Indice

Indice

1 Introduccion

2 DesarrolloTemplates/PlantillasComponentesModulosPlugins

3 Otros temasAccediendo a la base de datosEmpaquetadoParametros

4 Para terminarReferenciasDudas

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 3: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

¿Que es Joomla?

Gestor de contenidos (CMS).

Framework de desarrollo.

Extensible.

Moderno.

Sencillo.

Bonito.

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 4: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

¿Por que programar sobre Joomla?

Es sencillo.

Es rapido.

Es facil de integrar.

Es un framework.

Es libre y gratuito.

Muchas extensiones (no es necesario partir de 0).

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 5: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

¿Que extensiones soporta?

Plantillas.

Componentes.

Modulos.

Plugins.

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 6: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Templates/PlantillasComponentesModulosPlugins

Indice

1 Introduccion

2 DesarrolloTemplates/PlantillasComponentesModulosPlugins

3 Otros temasAccediendo a la base de datosEmpaquetadoParametros

4 Para terminarReferenciasDudas

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 7: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Templates/PlantillasComponentesModulosPlugins

Plantillas

Codigo encargado de dar aspecto y estructura a la pagina.

Queda fuera del alcance de este curso.

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 8: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Templates/PlantillasComponentesModulosPlugins

Indice

1 Introduccion

2 DesarrolloTemplates/PlantillasComponentesModulosPlugins

3 Otros temasAccediendo a la base de datosEmpaquetadoParametros

4 Para terminarReferenciasDudas

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 9: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Templates/PlantillasComponentesModulosPlugins

¿Que son?

Son extensiones de Joomla que nos permiten mostrar informacionen el bloque principal del oomla.

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 10: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Templates/PlantillasComponentesModulosPlugins

Ficheros y directorios

Los ficheros de componentes se situan encomponentes/com_nombredelcomponente.

nombredelcomponente.php: Es el punto de entrada delcomponente.

nombredelcomponente.xml: Contiene informacion referenteal componente, incluida la de instalacion.

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 11: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Templates/PlantillasComponentesModulosPlugins

Ejemplo Hola Mundo

Ejemplo de componente que muestra al usuario un mensaje de”Hola Mundo”.

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 12: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Templates/PlantillasComponentesModulosPlugins

Indice

1 Introduccion

2 DesarrolloTemplates/PlantillasComponentesModulosPlugins

3 Otros temasAccediendo a la base de datosEmpaquetadoParametros

4 Para terminarReferenciasDudas

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 13: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Templates/PlantillasComponentesModulosPlugins

¿Que son?

Son extensiones de Joomla que nos permiten mostrar informacionen diferentes posiciones de la web.

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 14: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Templates/PlantillasComponentesModulosPlugins

Ficheros y directorios

Los ficheros de modulos se situan en modules.

mod_nombredelmodulo.php: Es el punto de entrada delmodulo.

mod_nombredelmodulo.xml: Contiene informacion referenteal modulo, incluida la de instalacion.

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 15: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Templates/PlantillasComponentesModulosPlugins

Ejemplo Hola Mundo

Ejemplo de componente que muestra al usuario un mensaje de”Hola Mundo”.

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 16: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Templates/PlantillasComponentesModulosPlugins

Indice

1 Introduccion

2 DesarrolloTemplates/PlantillasComponentesModulosPlugins

3 Otros temasAccediendo a la base de datosEmpaquetadoParametros

4 Para terminarReferenciasDudas

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 17: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Templates/PlantillasComponentesModulosPlugins

Plugins

Extensiones orientadas a eventos.

Asocian eventos a manejadores (funciones).

Los plugins pueden ser de varios tipos:

Contenido: Hacen conversiones de contenido en el ultimomomento.Busqueda: Anaden soporte de busqueda en nuestroscomponentes.Editores: Anaden soporte para nuevos editores web.Sistema: Anade funcionalidades bases del sistema (cache,debug, logs...)Autenticacion: Anade soporte para nuevos sistemas deautenticacion.Otros...

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 18: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Templates/PlantillasComponentesModulosPlugins

Ejemplo Hola Mundo

Ejemplo de plugin que enlaza los textos ”Hola Mundo.a sudescripcion en la wikipedia.

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 19: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Accediendo a la base de datosEmpaquetadoParametros

Indice

1 Introduccion

2 DesarrolloTemplates/PlantillasComponentesModulosPlugins

3 Otros temasAccediendo a la base de datosEmpaquetadoParametros

4 Para terminarReferenciasDudas

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 20: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Accediendo a la base de datosEmpaquetadoParametros

JDatabase

Joomla define un objeto bases de datos.

Este objeto se puede compartir por todo el codigo.

Esta nos permite hacer consultas y obtener objetos de ella(filas).

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 21: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Accediendo a la base de datosEmpaquetadoParametros

JTable

Joomla define un objeto tabla.

Nos permite hacer CRUD sobre una tabla.

Nos permite gestionar acciones habituales (publish, hit,checkout...).

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 22: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Accediendo a la base de datosEmpaquetadoParametros

JModel

Joomla define un objeto modelo.

Nos permite abstraer de los objetos de nuestra base de datos.

Es necesario implementar estas consultas, ya sean con SQL ocon JTables.

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 23: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Accediendo a la base de datosEmpaquetadoParametros

Indice

1 Introduccion

2 DesarrolloTemplates/PlantillasComponentesModulosPlugins

3 Otros temasAccediendo a la base de datosEmpaquetadoParametros

4 Para terminarReferenciasDudas

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 24: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Accediendo a la base de datosEmpaquetadoParametros

Empaquetado

Fichero comprimido que contiene todos los datos deinstalacion:

El codigo PHP.El codigo SQL (si es necesario).Ficheros extra (imagenes, css, javascript...)Fichero de meta-informacion de la instalacion.

El fichero de meta-informacion de la instalacion incluye:

Tipo de extension.Informacion sobre el programa (nombre, descripcion, autor,licencia...).Informacion sobre los ficheros y carpetas a instalar (en elfront-end como en el back-end).Informacion del SQL a ejecutar.Informacion de parametros configurables de la extension.Otras informaciones.

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 25: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Accediendo a la base de datosEmpaquetadoParametros

Indice

1 Introduccion

2 DesarrolloTemplates/PlantillasComponentesModulosPlugins

3 Otros temasAccediendo a la base de datosEmpaquetadoParametros

4 Para terminarReferenciasDudas

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 26: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Accediendo a la base de datosEmpaquetadoParametros

Parametros

Son configuraciones que se pueden establecer en eladministrador.

Se anaden directamente en el XML de instalacion.

Permite una forma simple de configurar globalmente lasextensiones.

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 27: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Accediendo a la base de datosEmpaquetadoParametros

Parametros: Tipos de parametros

text: Campo de texto.

textarea: Area de texto.

list: Lista de seleccion (con su listado de opciones).

radio: Lista tipo radio (con su listado de opciones).

spacer: Linea horizontal (separador).

imagelist: Listado de seleccion de imagenes. Se le puedeespecificar un directorio concreto.

category: Un listado de las categorıas de contenidos deJoomla.

section: Un listado de las secciones de contenidos de Joomla.

Otros...

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 28: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

Accediendo a la base de datosEmpaquetadoParametros

Parametros: Acceso desde el codigo

Se obtienen del objeto $params usando el metodo get delsiguiente modo:$params->get(’name’,’if_empty_value’)

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 29: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

ReferenciasDudas

Indice

1 Introduccion

2 DesarrolloTemplates/PlantillasComponentesModulosPlugins

3 Otros temasAccediendo a la base de datosEmpaquetadoParametros

4 Para terminarReferenciasDudas

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 30: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

ReferenciasDudas

Referencias

joomla.org: Sitio oficial de Joomla.

help.joomla.org: Seccion de ayuda del sitio oficial de Joomla.

extensions.joomla.org: Seccion de extensiones del sitio oficialde Joomla.

forge.joomla.org: Gestor de proyectos de Joomla.

www.joomlaspanish.org: Pagina web de Joomla en castellano.

Learning Joomla! 1.5 Extension Development (PacktPublishing)

Mastering Joomla! 1.5 (Packt Publishing)

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 31: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

ReferenciasDudas

Indice

1 Introduccion

2 DesarrolloTemplates/PlantillasComponentesModulosPlugins

3 Otros temasAccediendo a la base de datosEmpaquetadoParametros

4 Para terminarReferenciasDudas

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla

Page 32: Modulos Y Componentes Joomla

IntroduccionDesarrollo

Otros temasPara terminar

ReferenciasDudas

Dudas

. . .

Jesus Espino Garcıa [email protected] Desarrollo de modulos y componentes en Joomla