Afficher l'information (via les fiches)
Faire une source de données
Lorsque l'on a créé un modèle de fiche et saisi des données dedans, il est fréquent de vouloir en faire une source de données pour pouvoir utiliser le contenu des fiches dans les démarches ou dans d'autres fiches.
Les « Sources de données » sont utilisées dans Publik pour alimenter des champs de type texte ou liste (une option de ces champs permet de sélectionner la source de données voulue) qui vont afficher les informations qu'elles contiennent, éventuellement en les filtrant. Une source de données ordinaire se construit manuellement dans un espace dédié en remplissant plusieurs paramètres.
Avec les fiches, cela n'est plus nécessaire, c'est automatisé : il suffit de renseigner l'option « Gabarit du résumé » dans le modèle de fiche concerné pour que ce modèle devienne automatiquement une source de données qui contiendra ce que l'on aura mis dans le gabarit du résumé (le gabarit peut concaténer plusieurs champs).
Avec, par exemple, un modèle de fiche « Établissements scolaires » ayant un champ dont le nom de variable est form_var_nom, le fait d'indiquer {{form_var_nom}} dans le gabarit du résumé suffit à créer automatiquement une source de données contenant le nom de tous les établissements scolaires enregistrés dans les fiches. La source de données est immédiatement disponible, elle apparaît dans la liste des sources de données.
Pour les champs listes dont la source est un modèle de fiche, vous noterez la présence d'un bouton '+' à côté de la liste qui permet d'ajouter une nouvelle fiche sans avoir à quitter le formulaire ou la fiche en cours de saisie. La nouvelle fiche enregistrée viendra remplir automatiquement le champ de la fiche ou du formulaire que l'on est en train de compléter.
Filtrer les fiches
Vues personnalisées
Les vues personnalisées permettent d'afficher et d'enregistrer dans les interfaces de traitement (des fiches ou des démarches) des vues, sur mesure, adaptées aux besoins des gestionnaires.
Mais lorsque l'on enregistre une vue personnalisée, on peut également choisir d'en faire une source de données en sélectionnant « comme source de données ». La source de données est alors immédiatement disponible après enregistrement de la vue personnalisée.
Cela va permettre d'ajouter à vos sources de données des notions de :
- Classement : en cliquant sur le titre des colonnes du tableau de traitement vous changer le classement de votre vue personnalisée et donc de votre source de données.
- Tri : en cliquant sur « critères » vous allez pouvoir ajouter des critères de tri et les paramétrer.
Vues personnalisées dynamiques
Pour aller encore plus loin et filtrer l'affichage des fiches en fonction d'un critère provenant du formulaire, il faut utiliser les vues personnalisées dynamiques.
Imaginons une fiche « Marchés » et un formulaire me permettant de choisir un jour de la semaine. Le formulaire devra afficher les marchés qui ont cours pour un jour donné, celui sélectionné par l'usager. Pour cela, nous allons construire une vue personnalisée avec un critère « jour » dans laquelle nous indiquerons le nom de variable utilisé dans le formulaire (par exemple {{form_var_jour}}). Il suffira ensuite que le champ liste affichant les marchés ait comme source de données notre vue personnalisée dynamique pour que l'ensemble fonctionne. Petite vidéo explicative :
Attention, quand le champ qui est utilisé pour construire la vue personnalisé dynamique est une champ liste sourcé par un modèle de fiche, il est nécessaire d'ajouter _raw au nom de variable pour que la vue utilise l'identifiant plutôt que le libellé. Cela ne fonctionnera pas sans le _raw
Afficher dans un formulaire les champs d'une fiche qui ne sont pas dans le gabarit du résumé
- Grâce à la présence dans le formulaire d'un champ alimenté par une source de données issue d'un modèle de fiche. Ce champ va permettre de lier une fiche à la demande.
- Grâce aux filtres de requêtes qui vont permettre d'aller interroger n'importe quel modèle de fiche.
Champ faisant le lien entre fiche et formulaire
Filtres de requêtes
cards|objects:"identifiant-modele-fiche"|filter_by:"identifiant-champ"|filter_value:"entrouvert"|first|get:"identifiant-champ-à-afficher"