Petit état de l'art de la batch API dans drupal 10.
Très complet. En anglais.
Petit état de l'art de la batch API dans drupal 10.
Très complet. En anglais.
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+
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 tient un registre des versions des modules installés, ces versions correspondent au dernier numéro du hook_update exécuté du module.
Remplacement des Entity Field Query en drupal 7, les Entity Query permettent d'effectuer des requêtes sur nos types d'entités, (custom ou non) selon leurs propriétés ou leurs champs (fields).
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.