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

Almacenamiento de la configuración en Drupal 8

19/06/2025, by Ivan

Por defecto, la información de configuración en Drupal 8 se almacena en la base de datos.

Formato del archivo de configuración (YAML)

Las extensiones (módulos, temas y perfiles) proporcionan datos de configuración en archivos YAML.

A continuación, un ejemplo de archivo de configuración:

some_string: '¡Woo gatitos!'
some_int: 42
some_bool: true

La configuración también puede ser anidada. Aquí un ejemplo:

name: thumbnail
label: 'Miniatura (100x100)'
effects:
  1cfec298-8620-4749-b100-ccb6c4500779:
    id: image_scale
    data:
      width: 100
      height: 100
      upscale: true
    weight: 0
    uuid: 1cfec298-8620-4749-b100-ccb6c4500779

Esquema de configuración

La configuración tiene un esquema. Esto está descrito en la documentación del esquema de configuración/metadatos.

Configuración predeterminada para la extensión

La extensión (módulo, tema o perfil) que proporciona valores predeterminados para su configuración debe colocar esta configuración en archivos YAML dentro de su subdirectorio config/install.

Si la extensión solo necesita parámetros básicos de configuración sencilla, todos los ajustes predeterminados pueden colocarse en un único archivo modulename.settings.yml. Para configuraciones más complejas, puede dividir su configuración en varios archivos. Cada objeto de configuración debe estar en sus propios archivos YAML, y estos deben generarse automáticamente cuando el módulo escriba su configuración (no intente escribirlos manualmente).

Para proporcionar valores predeterminados a configuraciones que requieran valores dinámicos (que por tanto no puedan establecerse en modulename.settings.yml), hágalo en hook_install(). Por ejemplo:

/**
 * Implementa hook_install().
 */
function modulename_install() {
  // Establece valores predeterminados para la configuración que requiere valores dinámicos.
  \Drupal::configFactory()->getEditable('modulename.settings')
    ->set('default_from_address', \Drupal::config('system.site')->get('mail'))
    ->save();
}

Configuración opcional para la extensión

Los elementos de configuración opcionales para una extensión (módulo o tema) se almacenan en el subdirectorio config/option.

Estos son elementos de configuración que dependen de algo de lo que la propia extensión no depende explícitamente, por lo que se instalan solo si todas sus dependencias están satisfechas.

Por ejemplo, en un escenario donde el módulo A tiene configuración opcional que requiere el módulo B, pero primero se instala el módulo A y más tarde el módulo B, entonces el directorio config/option del módulo A se escaneará en ese momento en busca de nuevas dependencias detectadas, y la configuración se instalará entonces. Si el módulo B nunca se instala, el elemento de configuración adicional tampoco se instalará.

Almacenamiento de configuración activa

Por defecto, Drupal 8 guarda la configuración activa en la base de datos para mejorar el rendimiento y la escalabilidad. Consulte «Configuración activa por defecto» para más información sobre el cambio del almacenamiento de archivos al almacenamiento en base de datos.

Actualizar la configuración desde YAML a la base de datos

Si durante el desarrollo necesita actualizar la configuración desde YAML a la base de datos, puede usar el comando drush config-import (cim).
Edite el archivo de configuración YAML en la carpeta de configuración activa (como se define en el archivo settings.php, por ejemplo, sites/default/files/config_6dh1U_2YKLGrrh5oLxAgobbledygook/sync) y luego ejecute drush cim. Limpie las cachés (drush cr) para ver los cambios.
Si está satisfecho con las configuraciones en el archivo YAML, las copia a su módulo o tema.

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.