Documentation en ligne

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 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

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_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_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 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.

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

Dernière mise à jour le 31 mai 2019 18:03 — Éditer