Drupal 10 es una de las plataformas de gestión de contenido más robustas y flexibles disponibles en la actualidad. Ofrece a desarrolladores y administradores de contenido la capacidad de crear y gestionar sitios web escalables y personalizables que van desde simples blogs hasta complejas aplicaciones empresariales y e-commerce.
Este curso está diseñado para llevarte de principiante a experto en el desarrollo con Drupal 10, cubriendo todos los aspectos clave que necesitas conocer para dominar esta plataforma. Desde la comprensión de la estructura de Drupal y la creación de módulos personalizados hasta la personalización de temas, la integración de JavaScript y la configuración de Drupal como un backend headless, este curso ofrece un enfoque integral.
A lo largo de los módulos, aprenderás a trabajar con controladores y servicios, a extender la funcionalidad de Drupal mediante hooks y eventos, y a utilizar herramientas de desarrollo como Drush y DDEV. También profundizaremos en la creación de formularios personalizados, el manejo de entidades, y el uso de la API de configuración. Además, abordaremos la seguridad, la optimización del rendimiento, y las mejores prácticas para el despliegue y mantenimiento en producción.
Al finalizar el curso, tendrás las habilidades necesarias para desarrollar módulos y temas avanzados, personalizar el frontend, integrar tecnologías modernas de JavaScript y construir soluciones e-commerce robustas con Drupal Commerce. Este curso es la guía definitiva para cualquier desarrollador que quiera llevar sus conocimientos de Drupal al siguiente nivel.
Bienvenido al curso de Desarrollo Completo en Drupal 10. ¡Prepárate para explorar todo el potencial de esta poderosa plataforma y convertirte en un experto desarrollador de Drupal!
Para disfrutar de este curso 100% gratuito tan sólo tienes que registrarte en #anixelo.
Temario del curso
Módulo 0: Introducción a Drupal y su Ecosistema
0.1 ¿Qué es Drupal y por qué usarlo?
0.2 Historia y evolución de Drupal
0.3 Casos de uso: sitios corporativos, e-commerce, comunidades, etc.
0.4 Comparación de Drupal con otros CMS (WordPress, Joomla)
0.5 Instalación de Drupal 10 con DDEV
Proyecto: Desarrollo de un Portal Web Multifuncional en Drupal 10.
📝Cuestionario sobre la introducción a Drupal y su ecosistema
Módulo 1: Estructura de Archivos de Drupal y Creación de Módulos
1.1 Estructura de Archivos de Drupal
1.2 Archivos Básicos en Drupal
1.3 Estructura Completa de un Módulo en Drupal
1.4 Creación de un Módulo Básico
1.5 Herramientas clave: Composer
1.6 Herramientas clave: Drush
1.7 Configuración de permisos en Drupal
Proyecto: Crear un módulo personalizado básico que incluya rutas y permisos
📝Cuestionario: sobre estructura de archivos y módulos básicos.
Módulo 2: Controladores y Rutas
2.1 Creación de un módulo básico y rutas en Drupal (.routing.yml)
2.2 Desarrollo de controladores básicos
2.3 Tipos de respuestas (Response, RedirectResponse, StreamedResponse)
2.4 Inyección de dependencias en controladores
2.5 Ejemplos prácticos: Controladores para formularios y descargas de archivos
Proyecto: Desarrollo de un Portal Web Multifuncional en Drupal 10. Parte 2.
📝Cuestionario sobre controladores y rutas
Módulo 3: Servicios y Contenedor de Servicios
3.1 Introducción a los servicios en Drupal
3.2 Uso de servicios de Drupal en tu módulo
3.3 Registrar servicios personalizados (services.yml)
3.4 Inyección de dependencias en clases y controladores
3.5 Ejemplos de uso: Servicios de current_user, entity_type.manager y messenger
Proyecto: Desarrollo de un Portal Web Multifuncional en Drupal 10. Parte 3.
📝Cuestionario sobre servicios
Módulo 4: Hooks y Eventos
4.1 Introducción a los hooks en Drupal
4.2 Implementación de hooks comunes (hook_form_alter(), hook_entity_presave())
4.3 Sistema de eventos en Drupal y Symfony
4.4 Creación de un suscriptor de eventos personalizado
4.5 Ejemplos prácticos: Reaccionar a la creación de contenido y la finalización de pedidos
Proyecto: Desarrollo de un Portal Web Multifuncional en Drupal 10. Parte 4
📝Cuestionario hooks y eventos
Módulo 5: Entidades en Drupal
5.1 ¿Qué son las entidades en Drupal?
5.2 Tipos de entidades: nodos, usuarios, términos de taxonomía y entidades personalizadas
5.3 Creación y manipulación de entidades mediante la API de entidades
5.4 Acceso a campos personalizados en entidades
5.5 Ejercicios prácticos: Creación y carga de entidades
Proyecto: Desarrollo de un Portal Web Multifuncional en Drupal 10. Parte 5
📝Cuestionario sobre entidades en Drupal
Módulo 6: Formularios y API de Formularios
6.1 Introducción a la API de formularios
6.2 Creación de formularios personalizados (FormBase, ConfigFormBase)
6.3 Validación y envío de formularios
6.4 Alteración de formularios existentes (hook_form_alter())
6.5 Ejercicio práctico: Crear un formulario de configuración de módulo
Proyecto: Desarrollo de un Portal Web Multifuncional en Drupal 10. Parte 6
📝Cuestionario sobre formularios y API de formularios
Módulo 7: Desarrollo de Temas y Uso de Twig
7.1 Introducción a la creación de temas en Drupal
7.2 Configuración de archivos info.yml para temas
7.3 Uso de Twig para plantillas y lógica de presentación
7.4 Sobrescribir plantillas de Drupal y sugerencias de plantillas
7.5 Ejercicio práctico: Crear y personalizar un tema básico
Proyecto: Desarrollo de un Portal Web Multifuncional en Drupal 10. Parte7
📝Cuestionario sobre desarrollo de temas y uso de twig
Módulo 8: Configuración y API de Configuración
8.1 Sistema de configuración en Drupal: Conceptos básicos
8.2 Trabajar con archivos YAML para la configuración de módulos
8.3 Usar la API de configuración (\Drupal::config())
8.4 Ejemplo práctico: Guardar y cargar configuraciones en un módulo
8.5 Exportación e importación de configuraciones (drush config-export y config-import)
Proyecto: Desarrollo de un Portal Web Multifuncional en Drupal 10. Parte 8
📝Cuestionario sobre configuración y API de configuración
Módulo 9: Seguridad y Buenas Prácticas
9.1 Principios de seguridad en el desarrollo en Drupal
9.2 Sanitización de entradas y salidas
9.3 Comprobación de permisos y roles de usuario
9.4 Prácticas seguras de manipulación de archivos y datos de usuarios
9.5 Ejercicio práctico: Auditar y asegurar un módulo
Proyecto: Desarrollo de un Portal Web Multifuncional en Drupal 10. Parte 9
📝Cuestionario sobre seguridad y buenas prácticas
Módulo 10: CLI y Herramientas de Desarrollo
10.1 Introducción a Drush: Comandos básicos y avanzados
10.2 Usar DDEV y Lando para entornos de desarrollo locales
10.3 Depuración en Drupal con Devel
y Xdebug
10.4 Automatización de tareas de desarrollo
10.5 Ejemplo práctico: Crear scripts de Drush personalizados
Proyecto: Desarrollo de un Portal Web Multifuncional en Drupal 10. Parte 10
📝Cuestionario sobre CLI y herramientas de desarrollo
Módulo 11: Extender Drupal con Módulos Contribuidos
11.1 Instalación y configuración de módulos contribuidos populares (Pathauto
, Views
, etc.)
11.2 Extender módulos existentes mediante hooks y eventos
11.3 Ejemplo práctico: Extender las funcionalidades de Views
11.4 Creación de submódulos para funcionalidades específicas
Proyecto: Desarrollo de un Portal Web Multifuncional en Drupal 10. Parte 11
📝Cuestionario sobre cómo extender drupal con módulos contribuidos
Módulo 12: Drupal para Diseñadores: Creación y Personalización del Frontend
12.1 Diseño centrado en la experiencia del usuario (UX)
12.2 Creación de interfaces amigables y optimización del flujo de usuario
12.3 Diseño de Layouts y Componentes con Layout Builder
12.4 Templating Avanzado y Atomic Design
12.5 Ejercicio práctico: Implementar patrones de diseño reutilizables
Proyecto: Desarrollo de un Portal Web Multifuncional en Drupal 10. Parte 12
📝Cuestionario sobre creación y personalización del frontend
Módulo 13: Drupal y JavaScript (Front-End Interactivo)
13.1 Integración de JavaScript en Drupal
13.2 Añadir y gestionar librerías de JavaScript en temas y módulos
13.3 Uso de React y Vue.js con Drupal
13.4 Drupal como un backend headless
13.5 Ejercicio práctico: Crear un componente interactivo
Proyecto: Desarrollo de un Portal Web Multifuncional en Drupal 10. Parte 13
📝Cuestionario sobre Drupal y JavaScript
Módulo 14: Desarrollo Headless con Drupal
14.1 Conceptos básicos de Drupal Headless
14.2 Configuración de un backend Drupal headless
14.3 Exposición de contenido y entidades a través de REST API y JSON
14.4 Instalación y uso de GraphQL en Drupal
14.5 Ejemplo práctico: Implementar una aplicación frontend con Drupal Headless
Proyecto: Desarrollo de un Portal Web Multifuncional en Drupal 10. Parte 14
📝Cuestionario sobre desarrollo Headless con Drupal
Módulo 15: Seguridad y Rendimiento en Drupal
15.1 Principales vulnerabilidades y cómo mitigarlas
15.2 Uso de módulos de seguridad recomendados (roles, permisos, parches)
15.3 Técnicas de optimización de rendimiento: cachés y compresión de archivos
15.4 Uso de CDN y análisis de rendimiento
15.5 Ejercicio práctico: Optimizar un sitio Drupal para producción
Proyecto: Desarrollo de un Portal Web Multifuncional en Drupal 10. Parte 15
📝Cuestionario sobre seguridad y rendimiento en Drupal
Módulo 16: Testing, Deploy y Mantenimiento en Producción
16.1 Introducción a PHPUnit y testing automatizado en Drupal
16.2 Testing de frontend con Behat
16.3 Flujos de trabajo de CI/CD con Drupal
16.4 Uso de herramientas como GitLab CI, Jenkins y Pantheon
16.5 Estrategias de mantenimiento y backup de sitios en producción
Proyecto: Desarrollo de un Portal Web Multifuncional en Drupal 10. Parte 16
📝Cuestionario sobre Testing, Deploy y Mantenimiento en Producción
Módulo 17: Personalización para E-commerce con Drupal Commerce
17.1 Instalación y configuración de Drupal Commerce
17.2 Creación y gestión de productos, carritos y procesos de pago
17.3 Personalización avanzada de Drupal Commerce
17.4 Integración con sistemas de pago y módulos personalizados
17.5 Optimización para SEO y conversión en sitios de e-commerce
Proyecto: Desarrollo de un Portal Web Multifuncional en Drupal 10. Parte 17
📝Cuestionario sobre personalización para e-commerce