Saltar a contenido

Domain Config Language UI

El módulo Domain Config Language UI aporta las funcionalidades de interfaz multilingües sobre Domain Config UI. Se apoya en Domain Config Language para los servicios de sobrescritura subyacentes.

Sin este submódulo, Domain Config UI sólo expone en su administración la capa de sobrescrituras por dominio y no arrastra el módulo language a tu instalación. Añadirlo restablece el comportamiento multilingüe que los sitios en 3.0.x traían incorporado.

Lo que añade

  • Una columna Idiomas en la página de vista general /admin/config/domain/config-ui/list, que enumera, para cada pareja (domain, configuración), los idiomas que tienen su propia sobrescritura.
  • Limpieza automática de las sobrescrituras por idioma cuando se elimina su sobrescritura base desde la interfaz. Esa lógica vivía antes dentro de un bucle inline en Drupal\domain_config_ui\Config\DomainConfigFactory; ahora pasa por un event subscriber sobre Drupal\domain_config\Config\DomainConfigOverrideEvents::DELETE_OVERRIDE, lo que libera al módulo UI de toda dependencia con el módulo language.
  • Un decorador del servicio language_manager (Drupal\domain_config_language_ui\DomainConfigUILanguageManager) que resuelve las sobrescrituras por idioma a través de la factoría UI en tiempo de ejecución, para los flujos de administración del tipo «editar la configuración como si estuvieras en ese dominio».
  • El permiso translate domain configuration, que controla el flujo de traducción multilingüe en los formularios de configuración por dominio.
  • Una implementación de hook_form_alter() que, cuando se renderiza un formulario de traducción de configuración (Drupal\config_translation\Form\ConfigTranslationFormBase) en una página con un dominio activo, adjunta un validador protegido por el permiso translate domain configuration.
  • Una implementación de hook_domain_config_ui_disallowed_configurations_alter() que añade language.types a la lista de configuraciones no permitidas, de modo que la configuración de los tipos de idioma (interfaz, contenido) no pueda marcarse como sobrescribible por dominio desde la interfaz.

Cuándo activarlo

  • Tienes Domain Config UI activado, y
  • el módulo language del núcleo está activado, y
  • quieres gestionar y visualizar las sobrescrituras por idioma desde la interfaz de administración.

Los sitios 3.x existentes se actualizan de forma transparente: el hook domain_config_ui_update_10002() instala automáticamente este submódulo cuando el módulo language ya está activado.

Punto de extensión

La columna «Idiomas» se construye sobre el nuevo hook hook_domain_config_ui_overview_alter() introducido junto con la división de los módulos. Cualquier otro módulo puede añadir su propia columna a la página de vista general implementando este hook — véase docs/domain_config_ui/index.md y web/modules/contrib/domain/domain_config_ui/domain_config_ui.api.php.