Utiliser les variables
Variable basique : la variable de formulaire
Si j'attribue l'identifiant « telephone » à un champ de formulaire, je pourrai récupérer la valeur de ce champ dans la variable « form_var_telephone ». Les noms de variables sont soumis à des règles, ils peuvent contenir des chiffres ou des lettres, mais pas de caractères spéciaux à l'exception du caractère underscore (on remplace généralement les espaces par le caractère underscore : "_").
Une fois que l'on a attribué un identifiant à un champ, son nom de variable apparaît entre doubles accolades dans le listing des champs, à côté de son libellé et de son type : {{form_var_telephone}}
Différents types de variables
Mais outre ces variables liées à des champs de formulaire, il existe beaucoup d'autres types de variables utilisables :
- les variables concernant le workflow,
- les variables concernant le formulaire,
- les variables concernant l'usager,
- les variables concernant le canal de saisie,
- les variables système,
- les variables de session.
Ces variables sont utilisables dans un modèle de courriel, dans un modèle de document, dans l'affichage d'un message ou dans la définition d'une logique de traitement d'un formulaire (workflow).
Lors du traitement, le mail, le message ou le document généré contiendra la valeur de la variable. Si par exemple, j'écris dans mon modèle d'envoi de mail « Bonjour {{form_var_prenom}} », l'email envoyé à un usager, ayant saisi Arnold dans le champ prénom, contiendra « Bonjour Arnold ».
Pour trouver la valeur d'une variable quelle qu'elle soit, il est souvent très utile de consulter les pages d'inspection.
Variables concernant le workflow
Comme dans les formulaires, on peut définir un certain nombre de variables dans les workflows. Il est conseillé de lire au préalable les explications concernant le paramétrage avancé des workflows pour bien comprendre l'utilisation des variables.
form_option_xxx |
On peut définir des options et leur donner un « nom », leur contenu sera alors disponible dans {{form_option_nom}} |
form_status |
Le statut actuel de la demande |
form_previous_status |
Le statut précédent de la demande considérée |
form_status_changed |
Un booléen précisant que la demande vient de changer de statut |
form_evolution |
Informations sur le dernier statut (pour les modèles de courriels) |
form_role_receiver_name |
Le nom du rôle en charge du traitement |
form_role_receiver_emails |
Les adresses électroniques associées au rôle en charge du traitement |
form_criticality_level |
Le niveau de criticité, 0 pour le niveau le plus bas, 101, 102, 103, etc. pour les suivants. |
Variables concernant le formulaire
form_name |
Le nom du formulaire |
form_receipt_date |
La date de réception du formulaire |
form_receipt_time |
La date et l'heure de réception du formulaire |
form_number |
Le numéro attribué au formulaire |
form_url |
L'adresse vers la vue du formulaire |
form_url_backoffice |
L'adresse vers le formulaire dans le backoffice |
form_tracking_code |
Le code de suivi du formulaire, s'il existe |
form_details |
L'ensemble des champs du formulaire et les valeurs saisies par l'usager (pour les modèles de courriels). |
Variables concernant l'usager (le demandeur)
Les données contiennent aussi des informations sur l'utilisateur ayant complété le formulaire. Et en particulier les informations de son profil (le nom des variables du profil est paramétrable, nous affichons ici le nom par défaut).
form_user_display_name |
Le nom + prénom de l'utilisateur |
form_user_var_title |
Civilité (Monsieur, Madame). |
form_user_var_first_name |
Prénom |
form_user_var_last_name |
Nom |
form_user_var_email |
Adresse électronique |
form_user_var_address |
Adresse |
form_user_var_zipcode |
Code postal |
form_user_var_city |
Commune |
form_user_var_phone |
Téléphone fixe |
form_user_var_mobile |
Téléphone mobile |
form_user_nameid |
Identifiant SAML de l'utilisateur (NameID), pour le fournisseur d'identités |
Si un champ utilisateur personnalisé dispose d'un identifiant, alors la valeur de ce champ est accessible sous la forme form_user_var_variableduchamp, par exemple form_user_var_prenom.
Variables sur le canal de saisie
Les données contiennent aussi des informations sur le contexte de saisie de la demande. Elles sont utilisables uniquement après que la demande a été saisie, dans le workflow donc.
form_submission_backoffice |
Vrai si la saisie a eu lieu depuis le backoffice |
form_submission_channel |
Identifiant du canal de saisie (ex : mail) |
form_submission_channel_label |
Libellé du canal de saisie (ex : Courrier) |
Variables de session
La session de l'usager contient une série d'informations fixes mais il est aussi possible d'y ajouter de nouvelles données par l'intermédiaire de liens contenant des paramètres. Cela permet par exemple d'inclure une URL personnalisée dans un courriel vers l'usager qui assurera le préremplissage automatique de champs.
Le fonctionnement est simple, si le site reçoit une adresse avec des paramètres de la forme session_var_nom, une variable du même nom (session_var_nom) est rendue disponible.
Ce fonctionnement doit explicitement être autorisé par l'administrateur système, la liste des variables permises doit être ajoutée au fichier site_options.cfg, dans la section [options], par exemple :
query_string_allowed_vars = departement,une_autre_variable
Toutes les variables que nous avons listées dans un tableau concernant le demandeur (nom, prénom, adresse etc.) peuvent aussi être utilisées, comme variable de session. Elles ne concerneront alors plus le demandeur mais la personne connectée au moment où l'appel à la variable se fait.
session_user |
Variable qui existe uniquement si l'utilisateur est connecté |
session_user_display_name |
Le nom + prénom de l'utilisateur qui est en train de consulter la page |
session_user_var_title |
Civilité (Monsieur, Madame). |
session_user_var_first_name |
Prénom |
session_user_var_last_name |
Nom |
session_user_var_email |
Adresse électronique |
session_user_var_address |
Adresse |
session_user_var_zipcode |
Code postal |
session_user_var_city |
Commune |
session_user_var_phone |
Téléphone fixe |
session_user_var_mobile |
Téléphone mobile |
session_user_name_identifier_n |
Identifiant SAML de l'utilisateur (NameID), pour le fournisseur d'identités numéro n (n commençant à 0) |
Variables système
Ces variables sont accessibles à tout endroit du site. Pour intégrer au mieux un lien interne à Publik et éviter des liens en durs qui ne seraient plus valables après passage d'une installation de recette à une installation en production, il est possible d'utiliser ces variables de substitution pour l'url, du type {{eservices_url}}, {{portal_url}}...
site_name |
Le titre du site |
site_theme |
L'identifiant du thème en cours |
portal_url |
L'adresse du portail usager |
portal_agent_url |
L'adresse du portail agent |
eservices_url |
L'adresse du site de démarches |
site_url_backoffice |
L'adresse vers le backoffice du site des démarches |
idp_url |
L'adresse du fournisseur d'identités |
agendas_url |
L'adresse du service d'agenda |
porte_doc_url |
L'adresse du service de porte-documents |
passerelle_url |
L'adresse du service de gestion des connecteurs |
statistics_url |
L'adresse du service de statistiques |
site_lang |
Le code de la langue utilisée par le site |
today |
La date du jour |
now |
La date et l'heure du jour |
is_in_backoffice |
Vrai si la page actuelle est consultée dans le backoffice. Permet, par exemple, de créer des pages conditionnelles uniquement accessibles en saisie backoffice. |
À l'intérieur d'une catégorie, les variables suivantes sont également définies :
category_name |
L'intitulé de la catégorie |
category_description |
La description de la catégorie |
category_id |
L'identifiant de la catégorie |
Variables supplémentaires
Des variables supplémentaires peuvent également être définies par l'administrateur système, via des variables d'environnement ou la configuration de l'instance de w.c.s. Il est ainsi souvent créée une variable {{ collectivite }} utilisée pour récupérer le nom de la collectivité utilisatrice d'une instance particulière de Publik.
Certaines variables peuvent avoir un comportement spécifique suivant le slug attribué :
global_title |
Intitulé de l'instance, qui peut être utilisé dans le thème graphique |
environment_label |
Utilisé pour préciser si l'instance est une instance de test |
logo_link_url |
Lien associé au logo présent dans le header |
include_authors_in_form_history |
À positionner à "False" pour ne pas afficher le nom des agents dans l'historique de traitement en front-office |
Dernière mise à jour le 1 décembre 2020 17:18 — Éditer