[S’applique également à la v8.]{class="badge positive" title="S’applique également à Campaign v8."}
Formulaires de saisie input-forms
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 form-structure
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 noms, 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 noms. 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 nœud 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.
<form>
pour ajouter automatiquement l’encadrement nécessaire à la saisie du contenu.Mise en forme formatting
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.
Pour plus d’informations, consultez cette section.
Contrôles de type liste list-type-controls
Pour modifier un élément de collection, il faut obligatoirement utiliser un contrôle de type liste.
Liste en colonnes column-list
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.
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.
Zoom dans les listes zoom-in-a-list
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.
Liste d'onglets tab-list
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.
Conteneurs containers
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 editing-forms
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 :
En savoir plus sur la modification des formulaires et la structure des formulaires.