TP n°4 : Créer un bloc configurable dans un module Drupal

Drupal 8

TP n°4 : Créer un bloc configurable dans un module Drupal

Soumis par Antoine le mer 25/03/2020 - 15:35

Dans ce tp vous allez apprendre à créer des blocs configurables. Pour cela vous allez devoir apprendre à stocker des éléments de configuration. Pour réaliser ce tuto, vous devez savoir créer des formulaires comme vous l'avez vu dans le tp n°3

Objectifs pédagogiques

A la fin de ce module vous devez être capable de 

  • stocker et accéder à des éléments de configuration
  • créer des blocs configurables 

Ressources utiles

Vous devez lire les articles suivants :

Mission

Créer un module qui permettra d'ajouter dans une région un bloc qui donne des informations de contact de l'entreprise. Lors du placement, l'utilisateur pourra choisir s'il veut afficher :

  • une phrase d'annonce, qu'il pourra choisir d'encadrer avec des balises (h2 à h6 et un span) grâce à un select 
  • une adresse physique,
  • un numéro de téléphone cliquable,
  • une adresse mail cliquable.

Le formulaire de configuration du bloc ressemblera à ces images :

Dans la première image, le formulaire est configuré pour ne pas afficher un sous titre, et afficher une adresse, un téléphone et un email. Il y a donc une textarea pour saisir l'adresse, et des inputs pour saisir le téléphone et l'email.

Dans la seconde image, le bloc est configuré pour afficher seulement un soustitre et un téléphone. Il y a donc un input pour le texte du sous titre et un select pour choisir les balises html qui l'encadreront. Pour pouvoir afficher un téléphone, il y a un input pour pouvoir saisir le numéro. 

Dans la vidéo ci-dessous, vous trouverez une description de la mission.

Les étapes

Tâches à réaliser Ressources utiles
1 Créer le squelette du module avec un bloc Créer un squelette de module avec Drush
2 Dans le fichier src/Plugin/Bloc/nombloc.php les 4 méthodes vides Créer un bloc configurable
3 Dans la méthode BlocForm :  
4  - Créer les boutons radios pour savoir s'l faut un sous titre. Donner lui un nom (sstitredemande) Utiliser et paramétrer les éléments de formulaire
5  - Créer un textarea et lui définir un état pour qu'il s'affiche sur une seule réponse du bouton radio sstitredemande Utiliser et paramétrer les éléments de formulaire
6  - Créer un bouton select qui permet de choisir entre aucun h1, h2... et lui définir un état pour qu'il s'affiche sur une seule réponse du bouton radio sstitredemande Utiliser et paramétrer les éléments de formulaire
7  - Reproduire les étape 4 5 pour le téléphone, l'adresse postale et l'email. Il existe des types email et tel pour des inputs spécifiques aux numéros de téléphone  
8 Dans la méthode BlocSublit : récupérer les valeurs et les stocker en configuration Stocker des valeurs de configuration simple
9 Revenir dans la méthode BlocForm pour rajouter les valeurs par défaut en utilisant les valeurs éventuellement stockée en configuration Utiliser et paramétrer les éléments de formulaire
10 Dans la méthode blockValidate, rajouter les règles de validation du formulaire. Attention, les tél et les email sont automatiquement vérifiée si les type "tel" et "email" sont utilisés. Créer un bloc configurable
11 Créer un gabarit dans le fichier templates/nomgararit.html.twig et créer un theme dans le fichier nommodule.module Créer un bloc configurable
12 Dans la méthode build :  
13  - rajouter chaque élément en vérifiant à chaque fois dans la config que l'utilisateur a bien demandé l'affichage de cet élément Stocker des valeurs de configuration simple + La doc du render element html_tag
14  - renvoyer l'ensemble des render element vers le theme déclaré dans le fichier nommodule.module Créer un bloc configurable

 

Documents utiles
Version