[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
Taller realizado en la DrupalCamp Spain de 2022 centrado en el desarrollo para Drupal 9.
En el taller se mostrara la creación de un modulo básico, veremos ejemplos existentes y como poder aprovecharlos para hacer nuestros desarrollos a medida.
Sera necesario tener instalado el entorno de desarrollo, un entorno con Drupal en Docker (Lando, Ddev, Docker4Drupal), LAMP, MAMP, WAMP o similar para poder trabajar.
Se proporciona una OVA (VirtualBox 6.1) para facilitar el desarrollo.
Recomendación:
- Drupal 9. Instalado y funcionando.
- IDE de desarrollo. En la maquina virtual estará disponible Code.
- Se recomienda usar la maquina virtual para facilitar la sesión.
Algunos módulos que veremos, por ello es aconsejable instalarlos.
- Modulo Devel
- Modulo Coder
- Módulo Examples
Están disponibles maquinas virtuales o instaladores para facilitar:
- Docker (+ Lando) / Maquina virtual (VitualBox 6.1)
- http://drupalcamp2022.keopx.net/ (recomendado)
Presentación
- http://drupalcamp2022.keopx.net/
3. INFORMACIÓN DEL PONENTE
1
● Drupal association
● Drupal Core && Drupal contrib module && Drupal Mentor
● Asociación Española de Drupal
● G.D.O Basque Country
● …
DRUPALCAMP Zaragoza 2022
BIOGRAFÍA
Ruben Egiguren aka Keopx
CONTACTO
Drupal Developer, Software Libre enthusiast, new technologies and geek
● Blog: www.keopx.net
● Drupal: www.drupal.org/u/keopx
4. INFORMACIÓN DEL PONENTE
1
DRUPALCAMP Zaragoza 2022
Ruben Egiguren aka Keopx
Posición
Drupal Senior Developer at Digitalist Sweden
Drupal Developer, Software Libre enthusiast, new technologies and geek
11. ¿Quién sabe de qué?
3
DRUPALCAMP Zaragoza 2022
Conocer a los asistentes
● Instalación y crear contenido.
● Editar menús, bloques.
● Instalación y configuración de módulos.
● Desarrollado algún módulo.
SIN MIEDO
21. Estructura de directorios
6
DRUPALCAMP Zaragoza 2022
● /core todos los archivos proporcionados por core que no tienen una razón explícita para estar en el directorio /.
● /libraries contiene bibliotecas de terceros. No es utilizado por el núcleo de Drupal, pero se encuentra
comúnmente en muchos sitios.
● /modules es el directorio en el que van todos los módulos personalizados y contribuidos.
Este directorio contiene los subdirectorios contrib y custom, que pueden utilizarse para facilitar el seguimiento
de los módulos.
● /profiles contiene perfiles aportados y personalizados.
● /themes contiene (sub)temas contribuidos y personalizados.
● /sites es el directorio utilizado para ejecutar las configuraciones multisitio de Drupal y se utiliza de la misma
manera que en Drupal 7. Los módulos y temas en /sites/all/modules y /sites/all/themes anulan los de los
directorios de módulos y temas base. Los módulos en /sites/SITENAME/modules y /sites/SITENAME/themes
sustituirán a los demás para el sitio en cuestión.
● /vendor es el directorio donde van las dependencias de Composer, por ejemplo Symfony y Twig.
22. Estructura de directorios
6
DRUPALCAMP Zaragoza 2022
Detalles sobre el directorio /core, útiles sobre todo para los nuevos hackers del core:
● /core/assets - Varias librerías externas utilizadas por Core. jQuery, underscore, modernizer, etc.
● /core/misc - Código del frontend del que depende Drupal Core.
● /core/includes - Funcionalidad que es de bajo nivel para ser modular. Como el propio sistema de módulos.
● /core/lib - Clases de Drupal Core.
● /core/modules - Módulos de Drupal Core.
● /core/profiles - Perfiles de instalación de Drupal Core. Perfiles de instalación multilingüe mínimo,
estándar, de prueba y de prueba por defecto.
● /core/scripts - Varios scripts CLI, utilizados principalmente por los desarrolladores.
● /core/tests - Tests de Drupal Core.
● /core/themes - Temas de Drupal Core.
23. Estructura de directorios
6
DRUPALCAMP Zaragoza 2022
Directorios
● /modules/contrib - Contiene los módulos de Drupal.org.
○ Nota: no se modifican estos módulos. Usar cweagans/composer-patches para aplicar
parches.
● /modules/custom - Módulos desarrollados.
● /profile/contrib - Perfiles contribuidos.
● /profile/custom - Perfiles propios.
● /themes/contrib - Contiene los temas de Drupal.org. Nota: usa subtemas.
● /themes/custom - Temas propios o subtemas.
● /libraries - Contiene librerías de terceros como plugins, javascript, etc.
Fuente: https://www.drupal.org/docs/understanding-drupal/directory-structure
30. Qué deberíamos leer/conocer
8
DRUPALCAMP Zaragoza 2022
● Existe multitud de material el drupal.org
● Buscar no es difícil
● Lo difícil es saber qué buscar
● Algunas referencias
35. Qué deberíamos leer/conocer
8
DRUPALCAMP Zaragoza 2022
Uno de los más habituales son los formularios que nos
aportan multitud de posibilidades.
● Form API Reference, si seguimos manteniendo
características de D7.
● Introduction to Form API
Esquema del API de Form
● https://drupal.org/node/165104
50. ZARAGOZA 3-5 JUNIO
DRUPALCAMP SPAIN 2022
Eskerrik asko zuen arretagatik
keopx
GNU/GPL Licence
Gracias por vuestra atención
Thanks for your attention