Crear un módulo propio con su archivo info, rutas, controladores y estructura de directorios.
Declarar servicios en el contenedor de inyección de dependencias y consumirlos desde el código.
Implementar plugins del sistema mediante anotaciones: bloques, campos y formateadores.
Construir formularios con la Form API incluyendo validación, envío y estados condicionales.
Escribir plantillas Twig y preprocesadores para controlar el marcado que llega al navegador.
Definir actualizaciones de esquema y hooks de actualización para desplegar cambios sin perder datos.
Contenido del curso
8 módulos · 34 clases en vídeo · práctica guiada en cada módulo
Módulo 1 · Arquitectura de Drupal4 clases
Núcleo, contribuido y personalizado
Ciclo de una petición y capas implicadas
Entorno de desarrollo, Drush y depurador
Estructura de un módulo propio
Módulo 2 · Rutas y controladores4 clases
Archivo de rutas y parámetros
Controladores y respuestas
Permisos y comprobaciones de acceso
Enlaces de menú, acciones y pestañas locales
Módulo 3 · Servicios y eventos5 clases
Contenedor de servicios e inyección de dependencias
Definir un servicio propio
Suscriptores de eventos
Hooks que siguen vigentes y su lugar
Registro y depuración de servicios
Módulo 4 · Plugins4 clases
Sistema de plugins y anotaciones
Bloque personalizado con formulario de configuración
Tipo de campo, widget y formateador
Descubrimiento y derivadores
Módulo 5 · Formularios y configuración4 clases
Form API: elementos, validación y envío
Estados condicionales en el formulario
Formulario de configuración y esquema
Configuración por defecto del módulo
Módulo 6 · Twig y capa de presentación4 clases
Plantillas, sugerencias y herencia
Preprocesadores y variables disponibles
Bibliotecas de recursos y su adjunto
Caché de renderizado y contextos
Módulo 7 · Datos y mantenimiento5 clases
Esquema de base de datos propio
Hooks de actualización y despliegue de cambios
Entidades personalizadas: cuándo compensan
Pruebas automatizadas del módulo
Compatibilidad entre versiones del núcleo
Módulo 8 · Caso práctico4 clases
Módulo de integración con un servicio externo
Bloque configurable que muestra los datos
Formulario de administración y permisos
Entrega: módulo documentado, con pruebas y actualizaciones
Requisitos
Programación en PHP orientada a objetos: espacios de nombres, interfaces y inyección de dependencias.
Experiencia administrando Drupal: entidades, campos, Views y configuración exportada.
Entorno local con Drush y depurador disponible.
Descripción
Llega el requisito que ningún módulo contribuido cubre: una integración con un sistema externo, una lógica de negocio propia, un cálculo que debe ejecutarse al guardar. Resolverlo con parches o con código pegado en el tema condena el proyecto a la siguiente actualización mayor de Drupal.
El curso desarrolla módulos siguiendo la arquitectura del propio Drupal: servicios inyectados, rutas y controladores, plugins declarados por anotación, eventos, formularios con la Form API y plantillas Twig con sus preprocesadores. Se trabaja con Drush, con depurador y con la configuración exportada, igual que en un proyecto real.
Se cubren también los aspectos que deciden si el código sobrevive al proyecto: actualizaciones de esquema, pruebas automatizadas, dependencias bien declaradas y compatibilidad entre versiones del núcleo. Al terminar se puede asumir desarrollo a medida sobre Drupal, entregarlo documentado y sostenerlo a lo largo de sucesivas actualizaciones sin rehacer el trabajo cada vez.
¿Para quién es este curso?
Perfiles de desarrollo que ya administran Drupal y pasan a programar sobre él.
Equipos técnicos que mantienen portales Drupal con integraciones propias.
Personas desarrolladoras de otras plataformas PHP que se incorporan a un proyecto Drupal.
Bajo demanda
Curso diseñado con la ficha cerrada. Se produce al confirmarse un grupo o un contrato.
Este sitio web utiliza cookies propias y de terceros para recopilar información con finalidad técnica. No se recaban ni ceden datos de carácter personal sin tu consentimiento. Más información en la política de cookies.