Utiliser les variables
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 et les demandes,
- 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.
form_option_xxx |
On peut définir des options ou variables de workflow 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_details |
La description du rôle (champ « Détails du rôle, affichés en front-office ») |
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 de la demande |
form_receipt_datetime |
La date et l'heure de réception de la demande |
form_receipt_time |
L'heure de réception de la demande |
form_number |
Le numéro attribué à la demande |
form_url |
L'adresse vers la vue (front-office) du formulaire |
form_url_backoffice |
L'adresse vers le formulaire dans le backoffice |
form_tracking_code |
Le code de suivi de la demande, s'il existe |
form_details |
L'ensemble des champs de la demande et valeurs saisies par l'usager |
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 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 |
lingo_url | L’adresse du service de gestion de facturation et de tarification, lorsque déployé |
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. Pour obtenir l'effet inverse, on peut utiliser not is_in_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 |