Aller au contenu
EnglishFrançais

Dynamic Fieldset

Un dynamic fieldset (groupe de champs dynamique) est un fieldset de Content Editor qui n’affiche les champs propres à un cas que lorsque le contributeur a sélectionné ce cas dans un champ précédent. Dans un même type de contenu, tous les champs ne concernent pas tous les contenus. Le formulaire reste court quand le cas ne demande rien de plus. Il devient complet quand la situation l’exige.

Définition et fonctionnement

Pour une équipe éditoriale, le gain est concret, avec moins de champs sans objet à parcourir et moins d’oublis sur les champs qui comptent vraiment. Et un seul type de contenu au lieu de plusieurs variantes presque identiques à maintenir. Pour l’équipe technique, c’est un modèle plus simple à faire évoluer.

Techniquement, le groupe de champs dynamique est la représentation visuelle d’un mixin, c’est-à-dire d’un ensemble de propriétés qui vient s’ajouter à un type de contenu. Quand une valeur donnée est choisie, le mixin est activé et ses champs apparaissent. L’Academy donne l’exemple d’une annonce immobilière, où choisir "Maison" comme type de bien peut faire apparaître un champ "Surface du jardin". Ce comportement est déclaré par les développeurs dans leur module, avec le mixin dans la définition du type de contenu et son déclenchement dans la liste de choix. Le contributeur, lui, ne fait que choisir.

Documentation Academy : créer des formulaires dynamiques dans Content Editor

Termes liés : Fieldset · Champ · Type de contenu · Définition de type de contenu · Content Editor

Ressources sur ce terme

Le dynamic fieldset et le fieldset : les différences

Le groupe de champs dynamique appartient au formulaire de contribution, celui que remplissent les équipes dans Content Editor. Il ne faut pas le confondre avec l’affichage conditionnel d’un formulaire public, qui relève de Jahia Forms et s’adresse aux visiteurs du site.

Ce qui distingue le groupe de champs dynamique
NotionDifférence
FieldsetUn groupe de champs classique est toujours affiché. Le groupe dynamique dépend d’une valeur choisie dans un autre champ.
ChampUn champ permet de modifier une seule propriété. Le groupe dynamique rassemble plusieurs champs qui apparaissent ensemble.
Affichage conditionnel dans Jahia FormsIl règle ce que voit un visiteur qui remplit un formulaire du site. Le groupe dynamique règle ce que voit un contributeur qui saisit un contenu.

Le dynamic fieldset en pratique

Une équipe marketing publie ses événements avec un seul type de contenu. Si le contributeur choisit le format "En ligne", un groupe dynamique peut faire apparaître le lien d’inscription à la plateforme de diffusion. S’il choisit "Sur place", d’autres champs peuvent apparaître pour l’adresse et la salle. Personne ne remplit de champ inutile. Les listes et les filtres du site continuent de s’appuyer sur un même modèle.

Si le contributeur passe ensuite de "En ligne" à "Sur place", le lien déjà saisi est effacé à l’enregistrement. Mieux vaut que l’équipe le sache avant la mise en production.

Questions fréquentes

Faut-il créer un type de contenu par variante quand certains champs ne concernent qu’une partie des contenus ?

Pas nécessairement. Si les variantes partagent l’essentiel de leurs champs, un groupe de champs dynamique permet de garder un seul type et de n’afficher les champs spécifiques qu’au bon moment. Des types séparés restent préférables quand les variantes ont des rendus, des droits ou des cycles de publication vraiment différents. Le choix se fait avec les développeurs qui maintiennent le modèle.

Que deviennent les valeurs déjà saisies quand un contributeur change le choix qui active le groupe ?

Jahia efface alors, à l’enregistrement, les valeurs saisies dans les champs du groupe retiré, y compris leurs traductions. La version en ligne les garde jusqu’à la prochaine publication. Si ces valeurs alimentent des listes, des filtres ou des exports du site, prévenez les contributeurs qu’un changement de choix les fait disparaître.

Un contributeur peut-il configurer lui-même un groupe de champs dynamique ?

Le groupe est déclaré par les développeurs dans leur module (le paquet de code installé sur Jahia), avec le mixin dans la définition du type de contenu et son déclenchement dans la liste de choix. Le contributeur ne fait que sélectionner une valeur dans le formulaire. Ajouter un nouveau cas ou de nouveaux champs conditionnels est donc une évolution du modèle de contenu, à planifier comme telle.