Publik dispose d'un système générique appelé « variables de substitutions » qui permet de faire référence à des données internes, provenant du système, d'un formulaire, d'un champ, etc.
Ce système est particulièrement utile dans le paramétrage du contenu d'un courriel ou dans la définition d'une logique de traitement d'un formulaire, mais est également accessible depuis le thème, pour le préremplissage de champs, etc.
Ces variables sont accessibles à tout endroit du site.
site_name |
Le titre du site |
site_theme |
L'identifiant du thème en cours |
site_url |
L'adresse du site |
site_url_backoffice |
L'adresse vers le backoffice du site |
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 |
session_user_display_name |
Le nom de l'utilisateur connecté |
session_user_email |
L'adresse électronique de l'utilisateur connecté |
À 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 |
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.
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 |
Les données contiennent aussi des informations sur l'utilisateur ayant complété le formulaire.
form_user_display_name |
Le nom de l'utilisateur |
form_user_email |
L'adresse électronique de l'utilisateur |
form_user_name_identifier_n |
Identifiant SAML de l'utilisateur (NameID), pour le fournisseur d'identités numéro n (n commençant à 0) |
Si un champ utilisateur personnalisé dispose d'un nom de variable, alors il est accessible sous la forme form_user_var_variable du champ, par exemple form_user_var_prenom.
form_details |
L'ensemble des champs et de leur valeurs |
Il est également possible au moment de la définition d'un champ, de lui affecter un nom de variable, cela rendra la valeur associée à ce champ accessible via une variable de la forme form_var_variable du champ (par exemple : form_var_courriel).
form_status |
Le statut actuel du formulaire |
form_previous_status |
Le statut précédent du formulaire |
form_status_changed |
Un booléen précisant que le formulaire vient de changer de statut |
form_evolution |
L'ensemble de l'historique du traitement |
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 |
La session de l'usager contient une série d'informations fixes (par exemple le session_user_display_name décrit en haut de page), 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.
Un autre exemple pourrait être de faire varier le thème en fonction du site extérieur ayant pointé vers le formulaire, une URL serait par exemple https://www.example.net/?session_var_departement=42 et le squelette du site pourrait avoir le code suivant :
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