Domain Config Language UI¶
Le module Domain Config Language UI apporte les fonctionnalités d'interface multilingues au-dessus de Domain Config UI. Il s'appuie sur Domain Config Language pour les services de surcharge sous-jacents.
Sans ce sous-module, Domain Config UI n'expose dans son administration
que la couche de surcharges par domaine et n'introduit pas le module
language dans votre installation. L'ajout de ce sous-module rétablit
le comportement multilingue d'origine que les sites en 3.0.x
embarquaient nativement.
Ce qu'il ajoute¶
- Une colonne Langues sur la page d'aperçu
/admin/config/domain/config-ui/list, qui liste pour chaque couple (domain, configuration) les langues disposant de leur propre surcharge. - Le nettoyage automatique des surcharges par langue lorsque leur
surcharge de base est supprimée depuis l'interface. Cette logique
vivait auparavant dans une boucle interne de
Drupal\domain_config_ui\Config\DomainConfigFactory; elle passe désormais par un event subscriber surDrupal\domain_config\Config\DomainConfigOverrideEvents::DELETE_OVERRIDE, ce qui libère le module UI de toute dépendance au modulelanguage. - Un décorateur du service
language_manager(Drupal\domain_config_language_ui\DomainConfigUILanguageManager) qui résout les surcharges par langue via la factory UI au runtime, pour les flux d'administration de type « éditer la configuration comme si on était sur ce domaine ». - La permission
translate domain configuration, qui contrôle le flux de traduction multilingue sur les formulaires de configuration par domaine. - Une implémentation de
hook_form_alter()qui, lorsqu'un formulaire de traduction de configuration (Drupal\config_translation\Form\ConfigTranslationFormBase) est affiché sur une page avec un domaine actif, attache un validateur protégé par la permissiontranslate domain configuration. - Une implémentation de
hook_domain_config_ui_disallowed_configurations_alter()qui ajoutelanguage.typesà la liste des configurations interdites, afin que la config des types de langue (interface, contenu) ne puisse pas être marquée comme surchargeable par domaine depuis l'interface.
Quand l'activer¶
- Domain Config UI est activé, et
- le module
languagedu cœur est activé, et - vous voulez gérer et visualiser les surcharges par langue dans l'interface d'administration.
Les sites 3.x existants migrent de façon transparente : le hook
domain_config_ui_update_10002() installe automatiquement ce
sous-module lorsque le module language est déjà activé.
Point d'extension¶
La colonne « Langues » s'appuie sur le nouveau hook
hook_domain_config_ui_overview_alter() introduit avec la séparation
des modules. N'importe quel autre module peut ajouter sa propre colonne
à la page d'aperçu en implémentant ce hook — voir
docs/domain_config_ui/index.md ainsi que
web/modules/contrib/domain/domain_config_ui/domain_config_ui.api.php.