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:
Explicaremos brevemente el entorno de desarrollo elegido para la sesión.
Veremos cómo podemos implementar hooks que son llamados por Drupal para extender o modificar su funcionalidad.
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".
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.
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.
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.
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.
Veremos cómo crear dinámicamente una página con el contenido de nuestra cesta.
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.
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.
Uff!, muchas cosas hemos visto hasta este punto. Veremos los detalles más importantes de lo implementado.
Recomendaremos libros y artículos con los que avanzar en el desarrollo de módulos de Drupal.
¡Espero que os guste!
310
Otros CMS también tienen API
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
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