Idiomas

Curso de desarrollo de módulos de Drupal

Una de las características que más me gusta de Drupal es la posibilidad de escribir extensiones (llamadas módulos) que amplían las funcionalidades de tu web o modifican aspectos que vienen por defecto.

Gracias a la fantástica arquitectura de hooks, en Drupal es posible escribir módulos que hacen casi cualquier cosa que necesitemos incorporar a nuestro site.

Además, Drupal nos ofrece un conjunto de facilidades (APIs de programación) que nos facilitan la tarea de escribir módulos. Esto lo diferencia claramente de otros gestores de contenidos y ahí está precisamente su potencia; gracias a esto existen miles de modulos que la comunidad ha creado para hacer casi cualquier cosa.

Esta sesión será un curso de dos horas muy intenso donde veremos lo más importante para comenzar a crear nuestros propios módulos.

Vamos a construir un módulo para incorporar un carrito de la compra a nuestro site ¡desde cero!.

Trataremos los siguientes temas:

  1. Entorno de desarrollo
  2. Explicaremos brevemente el entorno de desarrollo elegido para la sesión.

  3. Cómo funciona Drupal, el mecanismo de hooks
  4. Veremos cómo podemos implementar hooks que son llamados por Drupal para extender o modificar su funcionalidad.

  5. Inicio del módulo
  6. Crearemos la estructura básica del módulo y analizaremos sus componentes. Crearemos un nuevo tipo de nodo que llamaremos Producto y que usaremos para que el módulo le añada la propiedad "precio".

  7. El sistema de menú
  8. Veremos la infraestructura que nos ofrece Drupal para manipular y usar los menús en nuestra web. Trataremos en profundidad cómo crear un "url mapping". También veremos cómo crear la sección de configuración o administración de nuestro módulo.

  9. Form API
  10. Entraremos en el detalle de la API para creación y gestión fácil de formularios que ofrece Drupal. En este apartado crearemos la sección de configuración o administración de nuestro módulo.

  11. Schema API
  12. Veremos cómo Drupal nos facilita la vida para trabajar con la base de datos; crearemos las tablas necesarias para nuestro módulo y analizaremos cómo hacer consultas desde las funciones de base de datos de drupal.

  13. Trabajando con nodos
  14. Veremos cómo vamos a extender las propiedades básicas de nuestro nodo "Producto" para incorporar la información de venta así como un botón para añadir el producto a nuestro carrito.

  15. Implementación de la vista del carrito
  16. Veremos cómo crear dinámicamente una página con el contenido de nuestra cesta.

  17. Theming
  18. Trataremos cómo nuestro módulo puede desacoplar el contenido del carrito con respecto a cómo éste se muestra en la web a través del theming de Drupal.

  19. Javascript y CSS
  20. Veremos cómo nuestro módulo puede incorporar sus propios archivos de javascript y CSS para mejorar el comportamiento de nuestro carrito. Mostraremos por tanto cómo Drupal facilita esta tarea.

  21. Resumen
  22. Uff!, muchas cosas hemos visto hasta este punto. Veremos los detalles más importantes de lo implementado.

  23. Para seguir
  24. Recomendaremos libros y artículos con los que avanzar en el desarrollo de módulos de Drupal.

¡Espero que os guste!

Ponente(s): 

Otros CMS también tienen API

Mar, 26/07/2011 - 16:41

Otros CMS también tienen API (la de WordPress por ejemplo es muy completa también) pero Drupal es el framework por excelencia y su API es sin duda la más completa que conozco en un CMS por ese motivo requiere experiencia moverse por ella para encontrar el hook y/o variables adecuados a cada ocasión, tienes mi voto.

Así es

Vie, 29/07/2011 - 13:13

Gracias, el desarrollo de módulos para Drupal es quizá uno de los temas que más cuesta afrontar al principio, pero una vez que te acostumbras a cómo se hacen las cosas, se coge velocidad y se hacen las cosas rápido. La inversión en tiempo merece la pena, porque luego le sacas provecho en el desarrollo de tus sites o en la particularización de módulos ya existentes.

Como framework de aplicaciones, el conjunto de APIs que ofrece Drupal te da un gran control del site y te permite además controlarlo de abajo (acceso a la base de datos) arriba (theming).

Saludos

Total inscritos

310