Show Menu
SUJETS×

Formulaires de saisie

Vous trouverez ci-après quelques principes généraux sur l'utilisation des formulaires de saisie dans Adobe Campaign.
Les formulaires sont présentés dans cette section .

Structure d'un formulaire

Le document XML d’un formulaire de saisie doit contenir l’élément racine <form> avec les attributs name et namespace pour renseigner le nom du formulaire et son espace de nommage, respectivement.
<form name="form_name" namespace="name_space">
...
</form>

Par défaut, un formulaire est associé au schéma de données qui porte le même nom et le même espace de nommage. Pour associer un formulaire avec un nom différent, saisissez la clé de schéma dans l’attribut entity-schema de l’élément <form> .
Pour illustrer la structure d'un formulaire de saisie, nous allons décrire une interface à partir de notre schéma d'exemple "cus:livre" :
Le formulaire de saisie correspondant :
<form name="book" namespace="cus" type="contentForm">
  <input xpath="@name"/>
  <input xpath="@date"/>
  <input xpath="@language"/>
</form>

La description des éléments d’édition commence à partir de l’élément racine <form> .
Un contrôle d’édition est renseigné sur un élément <input> avec l’attribut xpath qui contient le chemin du champ dans son schéma.
Rappel sur la syntaxe des XPaths :
Le langage XPath est utilisé dans Adobe Campaign pour référencer un élément ou un attribut appartenant à un schéma de données.
XPath est une syntaxe permettant la localisation d'un noeud dans l'arbre d'un document XML.
Les éléments sont désignés par leur nom, les attributs sont désignés par leur nom précédé d'un caractère "@".
Exemples:
  • @date : sélectionne l'attribut de nom "date"
  • Chapter/@title  : sélectionne l’attribut "titre" sous l’élément <chapter> .
  • ../@date : sélectionne la date sur l'élément parent de l'élément courant
Le contrôle d'édition s'adapte automatiquement au type de données correspondant et utilise le libellé défini dans le schéma.
Par défaut, chaque champ est affiché sur une seule ligne et occupe tout l'espace disponible, selon le type de données.
Le formulaire de saisie doit référencer un attribut type="contentForm" sur l’élément <form> pour ajouter automatiquement l’encadrement nécessaire à la saisie du contenu.

Mise en forme

La disposition des contrôles entre eux ressemble à celle utilisée dans les tableaux HTML, avec la possibilité de diviser un contrôle en plusieurs colonnes, d'utiliser des imbrications d'éléments ou de spécifier l'occupation de l'espace disponible. Il faut cependant retenir que la mise en page autorise seulement des répartitions de proportions, il n'est pas possible de spécifier des dimensions fixes pour un objet.
Voir à ce propos cette section .

Contrôles de type liste

Pour éditer un élément de collection, il faut obligatoirement utiliser un contrôle de type liste.

Liste en colonnes

Ce contrôle affiche une liste à colonnes éditable avec une barre d'outils contenant les boutons d'ajout et de suppression.
<input xpath="chapter" type="list">
  <input xpath="@name"/>
  <input xpath="@number"/>
</input>

Le contrôle liste doit être renseigné avec l'attribut type="list" , le chemin de la liste doit porter sur l'élément de collection.
Les colonnes sont déclarées par les éléments <input> enfants de la liste.
Les boutons de flèches haut et bas d'ordonnancement sont ajoutés automatiquement lorsque l'attribut ordered="true" est renseigné sur l'élément de collection dans le schéma de données.
Par défaut, les boutons de la barre d'outils sont alignés verticalement. Ils peuvent aussi être alignés horizontalement :
<input nolabel="true" toolbarCaption="List of chapters" type="list" xpath="chapter">
  <input xpath="@name"/>
  <input xpath="@number"/>
</input>

L'attribut toolbarCaption force l'alignement horizontal de la barre d'outils et renseigne le titre au-dessus de la liste.
Pour ne pas afficher le libellé de l'élément de collection sur la gauche du contrôle, il faut ajouter l'attribut nolabel="true" .

Zoom dans les listes

L'insertion et l'édition des données d'une liste peuvent être renseignées dans un formulaire d'édition séparé.
Les formes d'édition dans les listes sont utilisées dans les cas suivants :
  • facilité de saisie des informations,
  • présence d'un contrôle multi lignes,
  • les colonnes de la liste ne comportent que les champs principaux et la forme affiche tous les champs de l'élément de collection.
<input nolabel="true" toolbarCaption="List of chapters" type="list" xpath="chapter" zoom="true" zoomOnAdd="true">
  <input xpath="@name"/>
  <input xpath="@number"/>

  <form colcount="2" label="Editing a chapter">
    <input xpath="@name"/>
    <input xpath="@number"/>
    <input colspan="2" xpath="page"/>
  </form>
</input>

La définition du formulaire d’édition est spécifiée via l’élément <form> situé sous l’élément de liste. Sa structure est identique à celle d’un formulaire de saisie.
Un bouton Détail est automatiquement ajouté lorsque l'attribut zoom="true" est renseigné dans la définition de la liste, celui-ci permet de lancer le formulaire d'édition sur la ligne sélectionnée.
L'ajout de l'attribut zoomOnAdd="true" force l'appel du formulaire d'édition sur l'insertion d'un élément de la liste.

Liste d'onglets

Cette liste présente l'édition des éléments de collection sous la forme d'onglets.
<container toolbarCaption="List of chapters" type="notebooklist" xpath="chapter" xpath-label="@name">
  <container colcount="2">
    <input xpath="@name"/>
    <input xpath="@number"/>
    <input colspan="2" xpath="page"/>
  </container>
</container>

Le contrôle liste doit être renseigné avec l'attribut type="notebooklist" , le chemin renseigné doit porter sur l'élément de collection.
Le titre de l'onglet contient la valeur de la donnée renseignée à partir de l'attribut xpath-label .
Les contrôles d’édition doivent être déclarés sous un élément <container> enfant du contrôle liste.
Utilisez les boutons de la barre d'outils pour ajouter ou supprimer des éléments de la liste.
Les flèches gauche et droite d'ordonnancement sont ajoutées automatiquement lorsque l'attribut ordered="true" est renseigné sur l'élément de collection dans le schéma de données.

Les conteneurs

Les conteneurs vous permettent de regrouper un ensemble de contrôles. Ils existent via l’élément <container> . Ils ont déjà été utilisés pour mettre en forme les contrôles dans plusieurs colonnes et pour contrôler la liste d’onglets.
Les containers et leur utilisation dans les formulaires de saisie sont présentés dans cette section .

Editer les formulaires

La zone d'édition permet de renseigner le contenu XML du formulaire de saisie :
L'onglet Aperçu permet de visualiser le formulaire de saisie :