HTML_QuickForm_advmultiselect : La Référence |
Nous allons débuter par la création d'un formulaire très simple. Nos objectifs sont :
Copiez le code suivant dans un fichier, donnez lui l'extension .php, et afficher le résultat dans votre navigateur :
Le chargement de ce fichier dans votre navigateur devrait afficher quelquechose comme cette capture d'écran.
Revoyons cet exemple en détails, pas à pas :
Au début nous créons une instance HTML_QuickForm qui contiendra notre formulaire avec tous ses éléments et toutes les autres informations nécessaires. Nous ne donnons que le nom du formulaire au constructeur de la classe, ce qui signifie que les valeurs par défaut seront appliquées aux autres paramètres.
Notre formulaire sera constitué de trois éléments :
Le premier n'est pas notre « réel » élément, c'est juste une entête pour
améliorer la présentation. Le second est notre élément
advmultiselect. Notez que les paramètres pour la méthode
HTML_QuickForm::addElement()
ont
des significations différentes suivant les éléments.
La variable $fruit_array
définit les
valeurs par défaut (code, libellé) pour l'élément advmultiselect
fruit.
Il est maintenant temps de définir les attributs de l'élément fruit :
Pour ajouter des entêtes à chaque liste (où vous voulez: au sommet, au pied), vous avez besoin de définir ces valeurs en premier. Puis en second, définir les marquages dans le gabarit (comme n'importe quel autre élement supportant la multi étiquette).
Important | |
---|---|
Les marquages {label_2},
{label_3} sont utilisés, de la même façon
pour tous les
HTML_QuickForm renderers, et définissent : liste
d'attente (label_2 ), et liste
de sélection (label_3 ).
|
La dernière étape pour achever la définition d'un élément advmultiselect est de créer les boutons add et remove.
Ici nous attribuons les noms Add
>>
et << Remove
,
avec une présentation contrôlée par la classe CSS inputCommand
.
Avertissement | |
---|---|
Les marquages {add}, {remove} doivent exister dans le gabarit. Sans eux, vous ne verrez pas les boutons d'échange. |
Les futurs choix de l'utilisateur remplaceront les valeurs par défaut de l'élément advmultiselect fruit.
Avant de valider et traiter le formulaire, la phase de création de celui-çi a besoin encore d'une chose. N'oubliez pas, que pour gérer les échanges entre les deux listes, nous avons besoin d'une brique de code javascript. Le temps est venu de l'inclure dans notre flux/gabarit HTML.
Note | |
---|---|
En donnant la valeur false
comment argument à la méthode getElementJs() , nous avons choisis de
générer le code javascript avec ses balises script
englobantes. Le comportement par défaut est de fournir
uniquement le code brut sans balises script. Cela peut être
utile lors de l'intégration avec du code js existant ou
l'utilisation d'un moteur de gabarit.
|
C'est un simple exemple d'affichage. Dans vos scripts vous voudrez enregistrer les valeurs quelquepart ou autre. La méthode HTML_QuickForm::process() peut être ici d'un grand intérêt.
HTML_QuickForm_advmultiselect : La Référence | v 1.4.0 : 9 Juin 2007 |