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>Elementos y Decoradores de Dojo Form</title>
8 Sobre la base de los ayudantes de vista dijit
9 <link linkend="zend.dojo.view.dijit"/>
10 , la familia de clases
11 <classname>Zend_Dojo_Form</classname>
12 ofrece la posibilidad de
13 utilizar Dijits nativamente en sus formularios.
16 <para>Hay tres opciones para utilizar los elementos de Dojo form con sus
23 <methodname>Zend_Dojo::enableForm()</methodname>
25 permitirá añadir recursivamente paths de plugins para
27 elementos de todos los items de forms adjuntos.
28 Además, el objeto vista será
29 habilitado para Dojo. Note, sin
30 embargo, que cualquier subformulario que agregue
31 <emphasis>después</emphasis>
32 de esta llamada también tendrá
33 que ser pasado mediante
34 <methodname>Zend_Dojo::enableForm()</methodname>
41 Utilice las implementaciones específicas de Dojo para
42 formularios y subformularios,
43 <classname>Zend_Dojo_Form</classname>
45 <classname>Zend_Dojo_Form_SubForm</classname>
46 respectivamente. Éstas pueden utilizarse como reemplazantes
48 <classname>Zend_Form</classname>
50 <classname>Zend_Form_SubForm</classname>
52 paths apropiados de los decoradores y elementos, establecer una
53 clase DisplayGroup por defecto específica, y habilitar la vista
60 Por último, y lo más tedioso, puede establecer por sí mismo
61 el path apropiado para el
62 decorador y para el elemento,
63 establecer por defecto la clase DisplayGroup, y
65 vista para Dojo. Dado que
66 <methodname>Zend_Dojo::enableForm()</methodname>
68 esto, hay pocas razones para seguir esta vía.
73 <example id="zend.dojo.form.enable">
74 <title>Habilitando Dojo en sus formularios existentes</title>
77 "Pero espere", podría decir; "Ya extendí
78 <classname>Zend_Form</classname>
80 personalizada de form! ¿Cómo puede habilitarlo para Dojo?"
84 En primer lugar, y lo más fácil, simplemente cambie de extender
85 <classname>Zend_Form</classname>
87 <classname>Zend_Dojo_Form</classname>
88 , y actualizar todos los
89 lugares donde se instancie a
90 <classname>Zend_Form_SubForm</classname>
92 <classname>Zend_Dojo_Form_SubForm</classname>
97 Un segundo enfoque es llamar al método
98 <methodname>init()</methodname>
101 <methodname>Zend_Dojo::enableForm()</methodname>
103 Cuando la definición del formulario está completa, mediante un loop
108 <programlisting language="php"><![CDATA[
109 class My_Form_Custom extends Zend_Form
111 public function init()
113 // Dojo habilita el form:
114 Zend_Dojo::enableForm($this);
116 // ... continuar con la definición del form desde aquí
118 // Dojo habilita todos los sub forms:
119 foreach ($this->getSubForms() as $subForm) {
120 Zend_Dojo::enableForm($subForm);
127 <para>El uso de los decoradores y elementos específicos de dijit form es
128 como usar cualquier otro
129 decorador o elemento de formularios.</para>
131 <xi:include href="Zend_Dojo-Form-Decorators.xml"/>
132 <xi:include href="Zend_Dojo-Form-Elements.xml"/>
133 <xi:include href="Zend_Dojo-Form-Examples.xml"/>