Le module Block Visibility Groups améliore sensiblement la gestion des blocs native de Drupal 8. Il permet de créer des groupes de visibilité, par exemple en fonction de conditions basées sur des chemins et/ou des rôles utilisateur. Ces groupes sont alors réutilisables très simplement pour n'importe quel bloc. Cela s'avère très pratique lorsque l'on a des conditions complexes ou nombreuses que l'on souhaite appliquer à un ensemble de blocs.
Installation
L'installation du module est classique et ne demande aucune configuration particulière. La seule dépendance est le module Block.
Créer un groupe de visibilité
Une fois installé le module ajoute un onglet vertical sur le formulaire de configuration des blocs. Vous pouvez alors choisir un des groupes prédéfinis via une liste de sélection. Pour ajouter un groupe de visibilité aller sur la page de mise en page des blocs (Admin > Structure > Mise en page des blocs). En haut de la liste des blocs/régions vous avez un lien pour ajouter un nouveau groupe.
Vous disposez alors de 2 options :
- Le groupe de conditions est unique, ou bien peut-on ajouter d'autres conditions classiquement. Si le groupe est unique alors une fois ce groupe assigné à un bloc, il n'est plus possible d'ajouter d'autres conditions.
- Les conditions sont-elles cumulatives ou non, c'est à dire toutes les conditions doivent être satisfaites ou simplement l'une des conditions.
Ensuite vous devez définir les différentes conditions de ce groupe. Noter que le module Chaos Tools permet d'avoir bien plus de types de conditions.
La liiste des groupes de visibilité est visible sur Admin > Structure > Mise en page des blocs puis aller sur l'onglet Block Visibility Groups.
Filtrage de la liste des régions et blocs
Le module Block Visibility Groups ajoute également la possibilité de filtrer la liste des blocs/régions par groupe. C'est extrêmement utile car cela évite d'avoir toujours la liste classique des blocs/régions qui peut être très longue. On est capable alors de n'afficher que les blocs qui remplissent certaines conditions.
Gestion des configurations
Chaque groupe de visibilité correspond à une configuration (de type Block Visibility Group). Lorsqu'un bloc utilise un groupe de visibilité, alors la configuration de ce dernier dépend de la configuration du groupe utilisé.
Conclusion
Le module Block Visibility Groups est devenu presque indispensable et son absence éventuelle sur certains projets semble comme un retour en arrière. Ce module est une amélioration considérable de la gestion native des blocs. Il ne vous reste plus qu'à le tester.