1 <?xml version="1.0" encoding="utf-8"?>
2 <!-- EN-Revision: 17166 -->
4 <sect1 id="zend.dojo.form" xmlns:xi="http://www.w3.org/2001/XInclude">
5 <title>Les éléments de formulaire et les décorateurs Dojo</title>
9 <link linkend="zend.dojo.view.dijit">aides de vues dijit</link>, la famille des classes
10 <classname>Zend_Dojo_Form</classname> fournit la possibilité d'utiliser les Dijits
11 nativement dans vos formulaires.
15 Il existe trois options pour utiliser les éléments de formulaires Dojo avec vos
22 Utilisez <methodname>Zend_Dojo::enableForm()</methodname>. Ceci ajoutera, de
23 manière récursive, les chemins de plugin des éléments et des décorateurs pour tous
24 les éléments de formulaires attachés. De plus, ceci active dojo dans l'objet de
25 vue. Notez, cependant, que tout sous-formulaire que vous attacherez
26 <emphasis>après</emphasis> cet appel devront eux aussi faire leur appel à
27 <methodname>Zend_Dojo::enableForm()</methodname>.
33 Utilisez les implémentations de formulaires et sous-formulaires spécifiques à
34 Dojo, respectivement <classname>Zend_Dojo_Form</classname> et
35 <classname>Zend_Dojo_Form_SubForm</classname>. Ceux-ci peuvent être utilisés en
36 lieu et place de <classname>Zend_Form</classname> et
37 <classname>Zend_Form_SubForm</classname>, ils contiennent tous les chemins
38 appropriés des éléments et décorateurs, ils paramètrent une classe par défaut pour
39 les DisplayGroup spécifique à Dojo et activent dojo dans l'objet de vue.
45 En dernier, et le plus pénible, vous pouvez régler vous même les chemins
46 appropriés vers les décorateurs et les éléments, régler la classe de DisplayGroup
47 par défaut, et activer dojo dans l'objet de vue. Puisque
48 <methodname>Zend_Dojo::enableForm()</methodname> fait déjà ceci, il n'y a que peu de
49 raisons d'utiliser cette voie.
54 <example id="zend.dojo.form.enable">
55 <title>Activation de Dojo dans vos formulaires existants</title>
58 "Mais attendez," vous allez me dire ; "j'étends déjà
59 <classname>Zend_Form</classname> avec ma propre classe de formulaire
60 personnalisé ! Comment puis-je activer Dojo ?'"
64 Premièrement, et sans doute le plus simple, étendez
65 <classname>Zend_Dojo_Form</classname> au lieu de <classname>Zend_Form</classname>, et
66 mettez à jour tous les endroits où vous intanciez
67 <classname>Zend_Form_SubForm</classname> en le remplaçant par
68 <classname>Zend_Dojo_Form_SubForm</classname>.
72 Une seconde approche consiste en un appel à
73 <methodname>Zend_Dojo::enableForm()</methodname> dans la méthode <methodname>init()</methodname> de
74 vos formulaires ; quand la définition du formulaire est complète, bouclez à travers
75 tous les sous-formulaires pour y activer dojo pour chacun :
78 <programlisting language="php"><![CDATA[
79 class My_Form_Custom extends Zend_Form
81 public function init()
83 // Activer Dojo pour le formulaire :
84 Zend_Dojo::enableForm($this);
86 // ... continuez la définition du formulaire ici
88 // Activer Dojo pour tous les formulaires :
89 foreach ($this->getSubForms() as $subForm) {
90 Zend_Dojo::enableForm($subForm);
99 L'utilisation des éléments de formulaires et les décorateurs spécifiques à Dijit est
100 identique à l'utilisation de tous autres éléments de formulaires ou décorateurs.
103 <xi:include href="Zend_Dojo-Form-Decorators.xml">
105 <xi:include href="../../en/module_specs/Zend_Dojo-Form-Decorators.xml" />
108 <xi:include href="Zend_Dojo-Form-Elements.xml">
110 <xi:include href="../../en/module_specs/Zend_Dojo-Form-Elements.xml" />
113 <xi:include href="Zend_Dojo-Form-Examples.xml">
115 <xi:include href="../../en/module_specs/Zend_Dojo-Form-Examples.xml" />