Voici comment ajouter un ou plusieurs champs au formulaire de configuration « paramètres de base du site ».
On commence par créer un service qui nous permettra de surcharger le formulaire de base :
modules/mon_module/mon_module.services:
Voici comment ajouter un ou plusieurs champs au formulaire de configuration « paramètres de base du site ».
On commence par créer un service qui nous permettra de surcharger le formulaire de base :
modules/mon_module/mon_module.services:
Version actualisée de Drupal 8 - Créer un Event, le lancer et l'intercepter pour drupal 10+
Les raisons peuvent être diverses, mais parfois on veut que certaines tables soient dans une base de données spécifique au lieu de la principale.
Dans mon cas c'est lors d'un déploiement « bleu / vert ».
En anglais, une bonne ressource pour créer son premier service avec Drupal.
Une fois le principe compris, il existe aussi la commande
drush generate service:custom
Il y a quelques semaines, souci rencontré sur un projet client avec une base de données qui grossissait de manière anormale. Ne gérant pas l'hébergement pour ce projet, je n'ai eu aucune alerte, avant que le site plante car le serveur de base de données n'avait plus d'espace disque disponible.
Quelques requêtes plus tard nous avons pu identifier les tables fautives et donc les causes.
Parfois cela peut dépanner d'aller modifier directement une clé de config depuis son terminal.
C'est là que drush avec la commande config:edit (alias : cedit) vient à la rescousse.
Voici comment scanner un dossier récursivement et récupérer tableau de fichiers correspondant à une expression régulière :
ici je récupère tous les fichiers .xml dans le dossier private://sms
Drupal vient avec des types d'entité prédéfinis (Node, ou User par exemple). À ces type d'entité il est possible d'ajouter des fields, mais il est aussi possible d'ajouter des propriétés.
Voici comment ajouter des propriétés (prénom et nom) aux utilisateurs.
On commence par récupérer le service de gestion des blocks :
$block_manager = \Drupal::service('plugin.manager.block');
On construit le bloc que l'on souhaite via son id
Les #states drupal permettent d'ajouter facilement une couche javascript sur nos formulaires, pour par exemple afficher un champ en fonction d'un autre...
Ces exemples marchent sur les version drupal 7, 8, 9 et 10.