Documentation en ligne

Utiliser l'autocomplétion (pour un champ liste)

L'aide la saisie (autocomplétion) permet de voir la liste des éléments sélectionnables s'affiner au fur et à mesure que l'on tape des caractères au clavier. L'aide à la saisie se base sur un référentiel de données.

Référentiel de données

Nous utiliserons ici un fichier tableur comme référentiel de données (au format ODS - OpenDocument Spreadsheet). Pour une description complète de la création du référentiel de donnés par fichier tableur, se référer à ce document .

Alternativement au fichier tableur, un webservice externe pourrait servir de référentiel de données, pour peu qu'il réponde aux critères détaillés ici.

Pour l'exercice, nous utiliserons un fichier ods structuré comme suit :

Identifiant Rue Code Postal Commune
1 Rue de Lutèce 75001 Paris
2 Rue Nationale 75013 Paris
3 Rue d'Avron 75020 Paris

Création du connecteur tableur

Nous devons d'abord créer un connecteur avec ce fichier tableur.

Se rendre dans le menu Services web, puis cliquer sur Ajouter un connecteur (en haut à droite). Dans la ligne Sources des données, cliquer sur Fichier tableur, puis renseigner :

  • Ma ville  dans le champ titre.
  • id, text, code_postal, ville dans le champ Noms des clés pour les colonnes
  • cocher la case Passer la première ligne (puisqu'elle contient des titres de colonne et pas des données)
  • dans fichier tableur, sélectionnez votre fichier

Une fois le connecteur créé, vous disposez désormais d'un webservice d'accès aux données, dont l'adresse est {{passerelle_url}}csvdatasource/ma-ville/data

Création de la source la donnée associée

Dans la fabrique de formulaires utiliser le lien Sources de données en haut à droite. Cliquez sur Nouvelle source de données, toujours dans la colonne de droite, puis renseigner :

  • Ma ville  dans le champ titre.
  • Au niveau de Source de données, choisir le type «URL du JSON», puis renseigner tel quel l'url du point d'accès aux données : {{passerelle_url}}csvdatasource/ma-ville/data

Si le référentiel utilisé était un webservice externe, on renseignerait son URL dans ce champ  Source de données (le webservice externe serait utilisé à la place du webservice du connecteur tableur).

Création du champ de formulaire

L'aide à la saisie se paramètre sur un champ de type liste.

Dans la fabrique de formulaire, sur le formulaire de votre choix, créer un champ de type liste, puis renseigner :

  • adresse  dans le champ identifiant
  • autocomplétion dans le champ mode d'affichage
  • sélectionner Ma Ville dans le champ source de données

Essayez maintenant de remplir une demande correspondant à ce formulaire, vous constaterez que l'aide à la saisie fonctionne sur le champ adresse.

On notera que seule l'information présente dans la deuxième colonne du référentiel de données est vue par l'usager lorsqu'il remplit le champ adresse. En effet seule la colonne qui correspond à la clé « text » dans notre connecteur est affichée.

Exploitation des données

Supposons qu'un usager ait rempli ce formulaire, et qu'il ait choisi la première entrée de notre référentiel : 

1 Rue de Lutèce 75001 Paris

Voici les variables qui seront associées à cette demande :

  • form_var_adresse qui prendra la valeur Rue de Lutèce  
  • form_var_adresse_raw qui prendra la valeur 1 
  • form_var_adresse_code_postal qui prendra la valeur 75001
  • form_var_adresse_ville qui prendra la valeur Paris

Dans cette convention de nommage des variables, adresse vient de l'identifiant du champ liste. Une fois qu'un champ permettant de récupérer la liste existe (le champ dont l'identifiant est form_var_adresse ici), les autres colonnes peuvent donc être récupérée en ajoutant _clé_de_la_colonne, par exemple form_var_adresse_ville.

Dernière mise à jour le 20 août 2019 16:06 — Éditer