logo

Extra Block Types (EBT) - Nueva experiencia con Layout Builder❗

Extra Block Types (EBT): tipos de bloques con estilo y personalizables: Presentaciones de diapositivas, Pestañas, Tarjetas, Acordeones y muchos más. Configuraciones integradas para fondo, DOM Box y plugins de JavaScript. Experimenta hoy el futuro de la construcción de diseños.

Módulos de demostración EBT Descargar módulos EBT

❗Extra Paragraph Types (EPT) - Nueva experiencia con Paragraphs

Extra Paragraph Types (EPT): conjunto de módulos basado en párrafos de forma análoga.

Módulos de demostración EPT Descargar módulos EPT

Scroll

Articles

20/06/2025, by Ivan

Fundamentos

En Drupal 8, las URLs limpias están habilitadas por defecto y no se pueden desactivar. Sin embargo, el módulo de reescritura debe estar instalado en tu servidor web.

Revisa la barra de direcciones de tu navegador. Las URLs de tu sitio no deben contener ?q= en la URL.

Ejemplo de URLs limpias correctas:

http://www.example.com/node/83

Ejemplo de URLs limpias que no funcionan:

http://www.example.com/?q=node/83

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

20/06/2025, by Ivan

Esta guía contiene tutoriales y otra información necesaria para crear módulos para Drupal 8.

Otras fuentes:

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

20/06/2025, by Ivan

Drupal 8 utiliza una serie de funciones avanzadas del lenguaje PHP y complejas librerías externas para proporcionar a los desarrolladores externos la API más avanzada de todos los CMS disponibles. Aunque los desarrolladores experimentados de Drupal 7 pueden notar algunos cambios significativos, la mayor parte de la estructura básica les resultará familiar.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

20/06/2025, by Ivan

En las siguientes subsecciones de esta guía, crearemos ejemplos de diferentes partes de un sitio Drupal, como una página personalizada, bloque, entidad, campo, etc. Todos los ejemplos comienzan con la carpeta del módulo y el archivo .info.yml. Solo con estos dos elementos, el módulo aparecerá en la página de administración de extensiones de Drupal 8 o podrá ser activado directamente mediante Drush.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

20/06/2025, by Ivan

Antes de empezar

Si quieres que PHP te ayude a detectar errores en el sitio de pruebas, prueba las configuraciones descritas aquí: Mostrar todos los errores durante el desarrollo.

Nombrar tu módulo

El primer paso para crear un módulo es elegir un "nombre corto" o nombre de máquina para él. Este nombre de máquina se usará en varios archivos y funciones de tu módulo, y el núcleo de Drupal lo utiliza programáticamente para referirse a tu módulo.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

20/06/2025, by Ivan

Tema principal: metadatos del proyecto

El archivo .info.yml (también llamado “archivo info yaml”) es una parte fundamental de un módulo, tema o perfil de instalación en Drupal 8, ya que almacena los metadatos del proyecto.

Estos archivos .info.yml son necesarios para:

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

20/06/2025, by Ivan

Al desarrollar módulos personalizados, existen varios escenarios que requieren que el desarrollador agregue un archivo composer.json a su módulo. Algunos de estos escenarios dependen de si el módulo personalizado está destinado a ser compartido con la comunidad como un proyecto en drupal.org.

Si el desarrollador del módulo quiere usar una biblioteca PHP alojada en packagist.org, debe agregar un archivo composer.json a su proyecto.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

20/06/2025, by Ivan

En la siguiente sección analizaremos la creación de un módulo simple. Existe una tradición antigua en la que el primer programa que escribes en cualquier sistema nuevo muestra “Hello World!” en pantalla.

Aunque Drupal es uno de los proyectos de código abierto más audaces y progresivos, también está profundamente arraigado en las antiguas tradiciones de la ciencia y la ingeniería.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

20/06/2025, by Ivan

La función content() en la clase HelloController devolverá un texto con marcado cuando el sistema de enrutamiento invoque la página.

En la carpeta de su módulo debe tener la estructura estándar de carpetas PSR-4 /src/Controller, y dentro de esa carpeta debe tener un archivo controlador llamado HelloController.php.
Así, su archivo controlador tendrá esta ruta
/src/Controller/HelloController.php

El código que debe tener en el archivo HelloController.php es el siguiente:

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.