|
|
@@ -3,7 +3,7 @@
|
|
|
|
|
|
<para>
|
|
|
La clase <code>Zend_Form</code> es usada para agregar elementos de
|
|
|
- formulario, desplegar grupos y subformularios. Éstos pueden ejecutar las
|
|
|
+ formulario, desplegar grupos y subformularios. Éstos pueden ejecutar las
|
|
|
siguientes acciones en estos elementos:
|
|
|
</para>
|
|
|
|
|
|
@@ -18,20 +18,20 @@
|
|
|
</para></listitem>
|
|
|
|
|
|
<listitem><para>
|
|
|
- Iteración sobre todos los elementos, en el orden en el cual han sido
|
|
|
+ Iteración sobre todos los elementos, en el orden en el cual han sido
|
|
|
introducidos o basados en el orden recuperado de cada elemento
|
|
|
</para></listitem>
|
|
|
|
|
|
<listitem><para>
|
|
|
- Generando el formulario entero, ya sea por un simple decorador que
|
|
|
- ejecuta un muestreo personalizado o por iteración sobre cada
|
|
|
- elemento del formulario
|
|
|
+ Generando el formulario entero, ya sea por un simple decorador que
|
|
|
+ ejecuta un muestreo personalizado o por iteración sobre cada
|
|
|
+ elemento del formulario
|
|
|
</para></listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para>
|
|
|
- Mientras los formularios creados con <code>Zend_Form</code> pueden ser
|
|
|
- complejos, probablemente su mejor uso es para formularios simples; es
|
|
|
+ Mientras los formularios creados con <code>Zend_Form</code> pueden ser
|
|
|
+ complejos, probablemente su mejor uso es para formularios simples; es
|
|
|
mejor utilizarlo para desarrollar aplicaciones rápidas y de prototipado.
|
|
|
</para>
|
|
|
|
|
|
@@ -49,8 +49,8 @@ $form = new My_Form()
|
|
|
</programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Opcionalmente puede pasarlo en la configuración, la cual será usada para
|
|
|
- establecer el estado del objeto, potencialmente así como también crear
|
|
|
+ Opcionalmente puede pasarlo en la configuración, la cual será usada para
|
|
|
+ establecer el estado del objeto, potencialmente así como también crear
|
|
|
nuevos elementos:
|
|
|
</para>
|
|
|
|
|
|
@@ -63,29 +63,29 @@ $form = new Zend_Form($config);
|
|
|
<para>
|
|
|
<code>Zend_Form</code> es iterable, e iterará sobre elementos, grupos que
|
|
|
mostrar y subformularios, usando el orden en el cual han sido registrados
|
|
|
- y en cualquier índice de orden que cada uno pueda tener. Esto es útil
|
|
|
+ y en cualquier índice de orden que cada uno pueda tener. Esto es útil
|
|
|
en casos donde desee generar los elementos manualmente en el orden apropiado.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
La magia de <code>Zend_Form</code> radica en la habilidad para servir como
|
|
|
- fábrica para elementos y grupos, así como también la habilidad de generarse
|
|
|
+ fábrica para elementos y grupos, así como también la habilidad de generarse
|
|
|
a sí mismo a través de decoradores.
|
|
|
</para>
|
|
|
|
|
|
<sect2 id="zend.form.forms.plugins">
|
|
|
<title>Cargadores de Plugin</title>
|
|
|
<para>
|
|
|
- <code>Zend_Form</code> hace uso de
|
|
|
- <code>Zend_Loader_PluginLoader</code> para permitir a los
|
|
|
- desarroladores especificar la ubicación de elementos y decoradores
|
|
|
- alternativos. Cada uno tiene su propio plugin loader asociado, y
|
|
|
- métodos de acceso genéricos son usados para recuperar y modificar
|
|
|
+ <code>Zend_Form</code> hace uso de
|
|
|
+ <code>Zend_Loader_PluginLoader</code> para permitir a los
|
|
|
+ desarroladores especificar la ubicación de elementos y decoradores
|
|
|
+ alternativos. Cada uno tiene su propio plugin loader asociado, y
|
|
|
+ métodos de acceso genéricos son usados para recuperar y modificar
|
|
|
cada uno.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Los siguientes tipos de cargadores son usados con los variados métodos
|
|
|
+ Los siguientes tipos de cargadores son usados con los variados métodos
|
|
|
del plugin loader: 'element' y 'decorator'. Los nombres de los tipos
|
|
|
no distinguen mayúsculas de minúsculas.
|
|
|
</para>
|
|
|
@@ -97,8 +97,8 @@ $form = new Zend_Form($config);
|
|
|
<itemizedlist>
|
|
|
<listitem><para>
|
|
|
<code>setPluginLoader($loader, $type)</code>: $loader es el propio
|
|
|
- objeto plugin loader, mientras $type es uno de los tipos
|
|
|
- especificados arriba. Esto establece el plugin loader para el
|
|
|
+ objeto plugin loader, mientras $type es uno de los tipos
|
|
|
+ especificados arriba. Esto establece el plugin loader para el
|
|
|
tipo dado al objeto loader recién especificado.
|
|
|
</para></listitem>
|
|
|
|
|
|
@@ -108,12 +108,12 @@ $form = new Zend_Form($config);
|
|
|
</para></listitem>
|
|
|
|
|
|
<listitem><para>
|
|
|
- <code>addPrefixPath($prefix, $path, $type = null)</code>: agrega
|
|
|
+ <code>addPrefixPath($prefix, $path, $type = null)</code>: agrega
|
|
|
una asociación prefijo/ruta al loader especificado por $type. Si
|
|
|
$type es nulo, intentará añadir una ruta a todos los loaders,
|
|
|
- añadiendo el prefijo "_Element" y "_Decorator"; y añadiendo la
|
|
|
- ruta con "Element/" y "Decorator/". Si tiene todas sus clases
|
|
|
- form element extras bajo una jerarquía común, éste es un método
|
|
|
+ añadiendo el prefijo "_Element" y "_Decorator"; y añadiendo la
|
|
|
+ ruta con "Element/" y "Decorator/". Si tiene todas sus clases
|
|
|
+ form element extras bajo una jerarquía común, éste es un método
|
|
|
coveniente para establecer el prefijo de base para ellas.
|
|
|
</para></listitem>
|
|
|
|
|
|
@@ -125,40 +125,40 @@ $form = new Zend_Form($config);
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para>
|
|
|
- Adicionalmente, puede especificar prefijos de rutas para todos los
|
|
|
- elementos y mostrar grupos creados a través de una instancia de
|
|
|
+ Adicionalmente, puede especificar prefijos de rutas para todos los
|
|
|
+ elementos y mostrar grupos creados a través de una instancia de
|
|
|
<code>Zend_Form</code> usando los siguientes métodos:
|
|
|
</para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem><para>
|
|
|
<code>addElementPrefixPath($prefix, $path, $type = null)</code>:
|
|
|
- Igual que <code>addPrefixPath()</code>, debe especificar un
|
|
|
- prefijo y ruta de clase. <code>$type</code>, cuando se especifica,
|
|
|
+ Igual que <code>addPrefixPath()</code>, debe especificar un
|
|
|
+ prefijo y ruta de clase. <code>$type</code>, cuando se especifica,
|
|
|
tiene que ser uno de los tipos plugin loader especificados por
|
|
|
<code>Zend_Form_Element</code>; vea la <link
|
|
|
linkend="zend.form.elements.loaders">sección elemento plugins
|
|
|
- </link> para más información de valores válidos para
|
|
|
- <code>$type</code>. Si <code>$type</code> no es especificado, el
|
|
|
+ </link> para más información de valores válidos para
|
|
|
+ <code>$type</code>. Si <code>$type</code> no es especificado, el
|
|
|
método asumirá que es un prefijo general para todos los tipos.
|
|
|
</para></listitem>
|
|
|
|
|
|
<listitem><para>
|
|
|
<code>addDisplayGroupPrefixPath($prefix, $path)</code>:
|
|
|
Igual que <code>addPrefixPath()</code>, debe especificar un
|
|
|
- prefijo y ruta de clase; sin embargo, dado que los grupos de visualización (display groups)
|
|
|
- sólo soportan decoradores como plugins, <code>$type</code> no es
|
|
|
+ prefijo y ruta de clase; sin embargo, dado que los grupos de visualización (display groups)
|
|
|
+ sólo soportan decoradores como plugins, <code>$type</code> no es
|
|
|
necesario.
|
|
|
</para></listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para>
|
|
|
- Elementos y decoradores personalizados son una manera fácil de compartir
|
|
|
+ Elementos y decoradores personalizados son una manera fácil de compartir
|
|
|
funcionalidad entre formularios y encapsular funcionalidad personalizada.
|
|
|
Vea el <link
|
|
|
linkend="zend.form.elements.loaders.customLabel">ejemplo de Etiqueta
|
|
|
- Personalizada</link> en la documentación de elementos para un
|
|
|
- ejemplo de cómo elementos personalizados pueden ser usados como
|
|
|
+ Personalizada</link> en la documentación de elementos para un
|
|
|
+ ejemplo de cómo elementos personalizados pueden ser usados como
|
|
|
reemplazos para clases estándar.
|
|
|
</para>
|
|
|
</sect2>
|
|
|
@@ -166,18 +166,18 @@ $form = new Zend_Form($config);
|
|
|
<sect2 id="zend.form.forms.elements">
|
|
|
<title>Elementos</title>
|
|
|
<para>
|
|
|
- <code>Zend_Form</code> proporciona varios métodos de acceso para añadir
|
|
|
- y eliminar elementos de el formulario. Éstos pueden tomar instancias
|
|
|
- de objetos de elemento o servir como fábricas para instanciar el
|
|
|
+ <code>Zend_Form</code> proporciona varios métodos de acceso para añadir
|
|
|
+ y eliminar elementos de el formulario. Éstos pueden tomar instancias
|
|
|
+ de objetos de elemento o servir como fábricas para instanciar el
|
|
|
objeto elemento a sí mismo.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
El método más básico para añadir un elemento es
|
|
|
- <code>addElement()</code>. Este método puede tomar también un objeto
|
|
|
+ <code>addElement()</code>. Este método puede tomar también un objeto
|
|
|
de tipo <code>Zend_Form_Element</code> (o de una clase extendiendo
|
|
|
- <code>Zend_Form_Element</code>), o argumentos para construir un nuevo
|
|
|
- elemento -- incluyendo el elemento tipo, nombre y algunas opciones de
|
|
|
+ <code>Zend_Form_Element</code>), o argumentos para construir un nuevo
|
|
|
+ elemento -- incluyendo el elemento tipo, nombre y algunas opciones de
|
|
|
configuración.
|
|
|
</para>
|
|
|
|
|
|
@@ -192,7 +192,7 @@ $form->addElement($element);
|
|
|
|
|
|
// Usando una fábrica
|
|
|
//
|
|
|
-// Crea un elemento de tipo Zend_Form_Element_Text con el
|
|
|
+// Crea un elemento de tipo Zend_Form_Element_Text con el
|
|
|
// nombre de 'foo':
|
|
|
$form->addElement('text', 'foo');
|
|
|
|
|
|
@@ -207,7 +207,7 @@ $form->addElement('text', 'foo', array('label' => 'Foo:'));
|
|
|
<para>
|
|
|
<code>addElement()</code> implementa una interfaz fluida; es
|
|
|
decir, retorna el objeto <code>Zend_Form</code> y no un
|
|
|
- elemento. Esto se ha hecho para permitirle encadenar
|
|
|
+ elemento. Esto se ha hecho para permitirle encadenar
|
|
|
multiples métodos addElement() u otros métodos formulario que
|
|
|
implementen una interfaz fluida (todos los establecedores en Zend_Form
|
|
|
implementan el patrón).
|
|
|
@@ -228,9 +228,9 @@ $form->addElement('text', 'foo', array('label' => 'Foo:'));
|
|
|
</note>
|
|
|
|
|
|
<para>
|
|
|
- Una vez que el elemento ha sido añadido al formulario, puede recuperarlo por
|
|
|
+ Una vez que el elemento ha sido añadido al formulario, puede recuperarlo por
|
|
|
el nombre. Puede también finalizar usando el método <code>getElement()</code>
|
|
|
- o usando sobrecarga para acceder al elemento como una propiedad de
|
|
|
+ o usando sobrecarga para acceder al elemento como una propiedad de
|
|
|
objeto:
|
|
|
</para>
|
|
|
|
|
|
@@ -244,7 +244,7 @@ $foo = $form->foo;
|
|
|
</programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Ocasionalmente, se quiere crear un elemento sin adjuntarlo
|
|
|
+ Ocasionalmente, se quiere crear un elemento sin adjuntarlo
|
|
|
al formulario (para instanciar, si se desea hacer uso de las
|
|
|
rutas de plugin introducidas con el formulario, pero después se desea adjuntar el
|
|
|
objeto al subformulario). El método <code>createElement()</code>
|
|
|
@@ -263,10 +263,10 @@ $username = $form->createElement('text', 'username');
|
|
|
<para>
|
|
|
Después de validar el formulario, originalmente se necesitará recuperar los
|
|
|
valores para poder ejecutar otras operaciones, tal como actualizar una
|
|
|
- base de datos o notificar un servicio web. Se pueden recuperar todos los valores
|
|
|
+ base de datos o notificar un servicio web. Se pueden recuperar todos los valores
|
|
|
para todos los elementos usando <code>getValues()</code>;
|
|
|
<code>getValue($name)</code> le permite recuperar un solo
|
|
|
- valor del elemento por su nombre:
|
|
|
+ valor del elemento por su nombre:
|
|
|
</para>
|
|
|
|
|
|
<programlisting role="php"><![CDATA[
|
|
|
@@ -291,8 +291,8 @@ $form->populate($data);
|
|
|
</programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Por otro lado, si se quisera limpiar el formulario antes de llenarlo
|
|
|
- o validarlo; se puede realizar usando el
|
|
|
+ Por otro lado, si se quisera limpiar el formulario antes de llenarlo
|
|
|
+ o validarlo; se puede realizar usando el
|
|
|
método <code>reset()</code>:
|
|
|
</para>
|
|
|
|
|
|
@@ -307,8 +307,8 @@ $form->reset();
|
|
|
|
|
|
<para>
|
|
|
Ocasionalemnte se necesitarán ciertas operaciones que afecten a todos
|
|
|
- los elementos. Escenarios comunes incluyen la necesidad de determinar rutas de acceso
|
|
|
- al prefijo complemento para todos los elementos, determinando decoradores para todos los elementos y
|
|
|
+ los elementos. Escenarios comunes incluyen la necesidad de determinar rutas de acceso
|
|
|
+ al prefijo complemento para todos los elementos, determinando decoradores para todos los elementos y
|
|
|
determinando filtros para todos los elementos. Como ejemplos:
|
|
|
</para>
|
|
|
|
|
|
@@ -316,7 +316,7 @@ $form->reset();
|
|
|
<title>Determinando rutas de acceso de prefijos para todos los elementos</title>
|
|
|
|
|
|
<para>
|
|
|
- Se puede determinar rutas de acceso para prefijos para todos los elementos por tipo,
|
|
|
+ Se puede determinar rutas de acceso para prefijos para todos los elementos por tipo,
|
|
|
o usando un prefijo global. Como ejemplos:
|
|
|
</para>
|
|
|
|
|
|
@@ -350,7 +350,7 @@ $form->addElementPrefixPath('My_Foo_Decorator',
|
|
|
<para>
|
|
|
Se pueden determinar decoradores para todos los elementos.
|
|
|
<code>setElementDecorators()</code> acepta una matriz de
|
|
|
- decoradores, solo como <code>setDecorators()</code>, y
|
|
|
+ decoradores, solo como <code>setDecorators()</code>, y
|
|
|
reescribirá cualquier decorador previamente determinado en cada elemento. En
|
|
|
este ejemplo, determinamos los decoradores para simplificar una ViewHelper
|
|
|
y una Label:
|
|
|
@@ -374,18 +374,18 @@ $form->setElementDecorators(array(
|
|
|
<code>setElementDecorators()</code> puede ser un array de
|
|
|
nombres de elemento; por defecto, especificar un array de ese tipo
|
|
|
determinará los decoradores especificados en esos elementos solamente. Puede
|
|
|
- tambien pasar un tercer elemento, una bandera indicando si
|
|
|
+ tambien pasar un tercer elemento, una bandera indicando si
|
|
|
esta lista de elementos es para propósitos de inclusión o exclusión;
|
|
|
- si es falso, decorará todos los elementos
|
|
|
+ si es falso, decorará todos los elementos
|
|
|
<emphasis>excepto</emphasis> los pasados en la lista,
|
|
|
- Como uso estándar del método, cualquier decorador pasado
|
|
|
+ Como uso estándar del método, cualquier decorador pasado
|
|
|
reescribirá cualquier decorador previamente determinado en cada
|
|
|
elemento.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
En el siguiente fragmento, indicamos que queremos los decoradores
|
|
|
- ViewHelper y Label para los elementos
|
|
|
+ ViewHelper y Label para los elementos
|
|
|
'foo' y 'bar':
|
|
|
</para>
|
|
|
|
|
|
@@ -404,8 +404,8 @@ $form->setElementDecorators(
|
|
|
</programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Por otro lado, con este fragmento, indicaremos
|
|
|
- que queremos usar solamente los decoradores
|
|
|
+ Por otro lado, con este fragmento, indicaremos
|
|
|
+ que queremos usar solamente los decoradores
|
|
|
ViewHelper y Label para cada elemento <emphasis>excepto</emphasis>
|
|
|
los elementos 'foo' y 'bar':
|
|
|
</para>
|
|
|
@@ -431,10 +431,10 @@ $form->setElementDecorators(
|
|
|
|
|
|
<para>
|
|
|
Mientras <code>setElementDecorators()</code> puede parecer
|
|
|
- una buena solución, existen algunos casos donde puede
|
|
|
+ una buena solución, existen algunos casos donde puede
|
|
|
terminar con resultados inesperados, Por ejemplo,
|
|
|
los muchos elementos botones (Submit, Button, Reset),
|
|
|
- actualmente usan la etiqueta como el valor del botón
|
|
|
+ actualmente usan la etiqueta como el valor del botón
|
|
|
y sólo usan los decoradores ViewHelper y DtDdWrapper --
|
|
|
previniendo una etiqueta adicional, errores, y sugerencias de
|
|
|
ser generadas; el ejemplo de arriba podría duplicar algún
|
|
|
@@ -556,19 +556,19 @@ $form->setElementFilters(array('StringTrim'));
|
|
|
|
|
|
<para>
|
|
|
Los grupos de visualización (display groups) son una manera de crear grupos virtuales de elementos para
|
|
|
- propósitos de visualización. Todos los elementos quedan accesibles por nombre en el
|
|
|
+ propósitos de visualización. Todos los elementos quedan accesibles por nombre en el
|
|
|
formulario, pero cuando interactúan o se ejecutan sobre el formulario, cualquiera de los elementos en
|
|
|
- un grupos de visualización son generados juntos. El caso más común de uso es
|
|
|
+ un grupos de visualización son generados juntos. El caso más común de uso es
|
|
|
agrupando los elementos en fieldsets. (TODO)
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
La clase base para los grupos de visualización es
|
|
|
- <code>Zend_Form_DisplayGroup</code>. Mientras puede ser instanciado
|
|
|
+ <code>Zend_Form_DisplayGroup</code>. Mientras puede ser instanciado
|
|
|
directamente, es mejor usar el método <code>addDisplayGroup()</code>
|
|
|
- de la clase<code>Zend_Form</code>. Este método toma un
|
|
|
- array de elementos como primer argumento y el nombre para el grupo de
|
|
|
- visualización como segundo argumento. Opcionalmente, se puede pasar en una array
|
|
|
+ de la clase<code>Zend_Form</code>. Este método toma un
|
|
|
+ array de elementos como primer argumento y el nombre para el grupo de
|
|
|
+ visualización como segundo argumento. Opcionalmente, se puede pasar en una array
|
|
|
de opciones o en un objeto <code>Zend_Config</code> como tercer argumento.
|
|
|
</para>
|
|
|
|
|
|
@@ -584,7 +584,7 @@ $form->addDisplayGroup(array('username', 'password'), 'login');
|
|
|
</programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Puede acceder a los grupos de visualización usando el
|
|
|
+ Puede acceder a los grupos de visualización usando el
|
|
|
método <code>getDisplayGroup()</code>, o mediante la sobrecarga usando el
|
|
|
nombre del grupo de visualización:
|
|
|
</para>
|
|
|
@@ -635,9 +635,9 @@ $form->addDisplayGroup(
|
|
|
<title>Fijando el Prefijo de Ruta del Decorador para todos los Grupos de Visualización</title>
|
|
|
|
|
|
<para>
|
|
|
- Por defecto, los grupos de visualización heredan cualquier
|
|
|
- ruta de decorador que use el formulario; sin embargo, si deberían buscar
|
|
|
- en una ruta alternativa, puede usar el método
|
|
|
+ Por defecto, los grupos de visualización heredan cualquier
|
|
|
+ ruta de decorador que use el formulario; sin embargo, si deberían buscar
|
|
|
+ en una ruta alternativa, puede usar el método
|
|
|
<code>addDisplayGroupPrefixPath()</code> method.
|
|
|
</para>
|
|
|
|
|
|
@@ -653,10 +653,10 @@ $form->addDisplayGroupPrefixPath('My_Foo_Decorator', 'My/Foo/Decorator');
|
|
|
<para>
|
|
|
Pueden determinarse decoradores para todos los grupos de visualización,
|
|
|
<code>setDisplayGroupDecorators()</code> admite un array de
|
|
|
- decoradores, al igual que <code>setDecorators()</code>, y sobreescribirá
|
|
|
- cualquier conjunto de decoradores previo en cada grupo de visualización.
|
|
|
- En este ejemplo, fijamos los decoradores a un fieldset (el decorador FormElements
|
|
|
- es necesario para asegurar que los elementos son iterador):
|
|
|
+ decoradores, al igual que <code>setDecorators()</code>, y sobreescribirá
|
|
|
+ cualquier conjunto de decoradores previo en cada grupo de visualización.
|
|
|
+ En este ejemplo, fijamos los decoradores a un fieldset (el decorador FormElements
|
|
|
+ es necesario para asegurar que los elementos son iterador):
|
|
|
</para>
|
|
|
|
|
|
<programlisting role="php"><![CDATA[
|
|
|
@@ -676,9 +676,9 @@ $form->setDisplayGroupDecorators(array(
|
|
|
Por defecto, <code>Zend_Form</code> utiliza la clase
|
|
|
<code>Zend_Form_DisplayGroup</code> para grupos de visualización.
|
|
|
Puede ocurrir que necesite extender esta clase con el fin
|
|
|
- de obtener una funcionalid personalizada. <code>addDisplayGroup()</code>
|
|
|
- no permite pasar una instancia determinada, pero permite especificar
|
|
|
- la clase que usar como una de sus opciones, usando la clave
|
|
|
+ de obtener una funcionalid personalizada. <code>addDisplayGroup()</code>
|
|
|
+ no permite pasar una instancia determinada, pero permite especificar
|
|
|
+ la clase que usar como una de sus opciones, usando la clave
|
|
|
'displayGroupClass':
|
|
|
</para>
|
|
|
|
|
|
@@ -699,8 +699,8 @@ $form->addDisplayGroup(
|
|
|
|
|
|
<para>
|
|
|
También puede especificar una clase de grupo de visualización por defecto
|
|
|
- para usar con el formulario, de forma que todos los grupos de visualización
|
|
|
- creados con el objeto formulario usen esa clase:
|
|
|
+ para usar con el formulario, de forma que todos los grupos de visualización
|
|
|
+ creados con el objeto formulario usen esa clase:
|
|
|
</para>
|
|
|
|
|
|
<programlisting role="php"><![CDATA[
|
|
|
@@ -711,8 +711,8 @@ $form->setDefaultDisplayGroupClass('My_DisplayGroup');
|
|
|
|
|
|
<para>
|
|
|
Esta funcionalidad puede especificarse en configuraciones como
|
|
|
- 'defaultDisplayGroupClass', y será cargada con antelación para
|
|
|
- asegurar que todos los grupos de visualización usen esa clase.
|
|
|
+ 'defaultDisplayGroupClass', y será cargada con antelación para
|
|
|
+ asegurar que todos los grupos de visualización usen esa clase.
|
|
|
</para>
|
|
|
</sect3>
|
|
|
|
|
|
@@ -905,7 +905,7 @@ $form->setDefaultDisplayGroupClass('My_DisplayGroup');
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem><para>
|
|
|
- Crear grupos de elementos lógicos. Dado que los sub formularios son
|
|
|
+ Crear grupos de elementos lógicos. Dado que los sub formularios son
|
|
|
simplemente formularios, se pueden validar subformularios como entidades individuales.
|
|
|
</para></listitem>
|
|
|
|
|
|
@@ -917,7 +917,7 @@ $form->setDefaultDisplayGroupClass('My_DisplayGroup');
|
|
|
</para></listitem>
|
|
|
|
|
|
<listitem><para>
|
|
|
- Agrupaciones de visualización. Como grupos de visualización, los sub formularios, cuando son generados
|
|
|
+ Agrupaciones de visualización. Como grupos de visualización, los sub formularios, cuando son generados
|
|
|
como parte de un formulario más grande, pueden ser usados para agrupar elementos. Sea consciente,
|
|
|
de todas maneras, que el objeto formulario principal no tendrá
|
|
|
conocimiento de los elementos en un sub formulario.
|
|
|
@@ -925,10 +925,10 @@ $form->setDefaultDisplayGroupClass('My_DisplayGroup');
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para>
|
|
|
- Un sub formulario puede ser un objeto <code>Zend_Form</code> o mas
|
|
|
+ Un sub formulario puede ser un objeto <code>Zend_Form</code> o mas
|
|
|
originalmente, un objeto <code>Zend_Form_SubForm</code>. éste último
|
|
|
contiene decoradores apropiados para la inclusión en un formulario extenso (i.e.,
|
|
|
- no se generan adicionales formulario etiquetas HTML, pero si grupos de
|
|
|
+ no se generan adicionales formulario etiquetas HTML, pero si grupos de
|
|
|
elementos). Para adjuntar un sub formulario, simplemente añádalo al formulario y déle
|
|
|
un nombre:
|
|
|
</para>
|
|
|
@@ -939,7 +939,7 @@ $form->addSubForm($subForm, 'subform');
|
|
|
</programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Se puede recuperar un sub formulario usando ya sea
|
|
|
+ Se puede recuperar un sub formulario usando ya sea
|
|
|
<code>getSubForm($name)</code> o sobrecarga usando el nombre
|
|
|
del sub formulario:
|
|
|
</para>
|
|
|
@@ -1032,7 +1032,7 @@ $form->setSubFormDecorators(array(
|
|
|
Mientras la utilidad de un formulario primariamente deriva de los elementos
|
|
|
que contiene, también pueden contener otros metadatos, como un nombre (usado
|
|
|
a menudo como ID único en el marcado HTML ); la accion y el método del formulario;
|
|
|
- el número de elementos, grupos y sub formularios que lo contienen; y
|
|
|
+ el número de elementos, grupos y sub formularios que lo contienen; y
|
|
|
arbitrariamente metadatos (usualmente usados para determinar atributos HTML para la
|
|
|
etiqueta del propio formulario).
|
|
|
</para>
|
|
|
@@ -1051,9 +1051,9 @@ $name = $form->getName();
|
|
|
</programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Para determinar la acción (url en el cual se envia el formulario) y método (método
|
|
|
- por el cual debería enviar, ej. 'POST' or 'GET'), use los accesores acción
|
|
|
- y método:
|
|
|
+ Para determinar la acción (url en el cual se envia el formulario) y método (método
|
|
|
+ por el cual debería enviar, ej. 'POST' or 'GET'), use los accesores acción
|
|
|
+ y método:
|
|
|
</para>
|
|
|
|
|
|
<programlisting role="php"><![CDATA[
|
|
|
@@ -1064,9 +1064,9 @@ $form->setAction('/user/login')
|
|
|
</programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Se puede también especificar el tipo de codificación del fomulario usando el
|
|
|
- enctype accessors. Zend_Form define dos constantes,
|
|
|
- <code>Zend_Form::ENCTYPE_URLENCODED</code> y
|
|
|
+ Se puede también especificar el tipo de codificación del fomulario usando el
|
|
|
+ enctype accessors. Zend_Form define dos constantes,
|
|
|
+ <code>Zend_Form::ENCTYPE_URLENCODED</code> y
|
|
|
<code>Zend_Form::ENCTYPE_MULTIPART</code>, correspondiente a los
|
|
|
valores 'application/x-www-form-urlencoded' y
|
|
|
'multipart/form-data', respectivamente; sin embargo, puede configurarlo
|
|
|
@@ -1083,13 +1083,13 @@ $form->setAction('/user/login')
|
|
|
|
|
|
<note>
|
|
|
<para>
|
|
|
- El método, acción y enctype son solo usados internamente para generar,
|
|
|
- y no para algún tipo de validación.
|
|
|
+ El método, acción y enctype son solo usados internamente para generar,
|
|
|
+ y no para algún tipo de validación.
|
|
|
</para>
|
|
|
</note>
|
|
|
|
|
|
<para>
|
|
|
- <code>Zend_Form</code> implementa la interfaz <code>Countable</code>
|
|
|
+ <code>Zend_Form</code> implementa la interfaz <code>Countable</code>
|
|
|
permitiéndole pasarlo como un argumento para contar:
|
|
|
</para>
|
|
|
|
|
|
@@ -1102,7 +1102,7 @@ $numItems = count($form);
|
|
|
Determinar metadatos arbitrariamente se realiza a través de los accesores 'atribs'.
|
|
|
Dado que la sobrecarga en <code>Zend_Form</code> es usada para acceder
|
|
|
elementos, grupos de visualización y subformularios, este es el único método para
|
|
|
- acceder a los metadatos.
|
|
|
+ acceder a los metadatos.
|
|
|
</para>
|
|
|
|
|
|
<programlisting role="php"><![CDATA[
|
|
|
@@ -1130,25 +1130,25 @@ $form->clearAttribs();
|
|
|
<title>Decoradores</title>
|
|
|
|
|
|
<para>
|
|
|
- Crear el marcado para un formulario es a menudo una tarea que consume mucho tiempo,
|
|
|
- particularmente si se planea reusar el mismo marcado para mostrar acciones
|
|
|
- tales como validación de errores, enviar valores, etc.
|
|
|
+ Crear el marcado para un formulario es a menudo una tarea que consume mucho tiempo,
|
|
|
+ particularmente si se planea reusar el mismo marcado para mostrar acciones
|
|
|
+ tales como validación de errores, enviar valores, etc.
|
|
|
La respuesta de <code>Zend_Form</code> a este problema es los
|
|
|
<emphasis>decoradores</emphasis>.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Los decoradores para objetos <code>Zend_Form</code> pueden ser usados para generar
|
|
|
- un formulario. El decorador FormElements iterará a través de todos los elementos en
|
|
|
- un formulario -- elementos, grupos de visualización y subformularios -- y los generará,
|
|
|
- devolviendo el resultado. Adicionalmente, los decoradores pueden ser usados
|
|
|
- para envolver el contenido o anteponerlo o postponerlo.
|
|
|
+ Los decoradores para objetos <code>Zend_Form</code> pueden ser usados para generar
|
|
|
+ un formulario. El decorador FormElements iterará a través de todos los elementos en
|
|
|
+ un formulario -- elementos, grupos de visualización y subformularios -- y los generará,
|
|
|
+ devolviendo el resultado. Adicionalmente, los decoradores pueden ser usados
|
|
|
+ para envolver el contenido o anteponerlo o postponerlo.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Los decoradores por defecto de <code>Zend_Form</code> son FormElements,
|
|
|
- HtmlTag (envuelve una lista de definición) y Form; el código equivalente
|
|
|
- para crearlos es como sigue:
|
|
|
+ Los decoradores por defecto de <code>Zend_Form</code> son FormElements,
|
|
|
+ HtmlTag (envuelve una lista de definición) y Form; el código equivalente
|
|
|
+ para crearlos es como sigue:
|
|
|
</para>
|
|
|
|
|
|
<programlisting role="php"><![CDATA[
|
|
|
@@ -1174,17 +1174,17 @@ $form->setDecorators(array(
|
|
|
</programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Algunos de los atributos se determinan en el objeto formulario que será usado como
|
|
|
- atributos HTML de la etiqueta <code><form></code>.
|
|
|
+ Algunos de los atributos se determinan en el objeto formulario que será usado como
|
|
|
+ atributos HTML de la etiqueta <code><form></code>.
|
|
|
</para>
|
|
|
|
|
|
<note>
|
|
|
<title>Decoradores por defecto que no necesitan ser cargados</title>
|
|
|
|
|
|
<para>
|
|
|
- Por defecto, el decorador por defecto son cargados durante la
|
|
|
- inicialización del objeto. Puede deshabilitarlo pasando la
|
|
|
- opción 'disableLoadDefaultDecorators' al constructor:
|
|
|
+ Por defecto, el decorador por defecto son cargados durante la
|
|
|
+ inicialización del objeto. Puede deshabilitarlo pasando la
|
|
|
+ opción 'disableLoadDefaultDecorators' al constructor:
|
|
|
</para>
|
|
|
|
|
|
<programlisting role="php"><![CDATA[
|
|
|
@@ -1193,8 +1193,8 @@ $form = new Zend_Form(array('disableLoadDefaultDecorators' => true));
|
|
|
</programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Esta opción puede ser combinada con alguna otra opción que usted pueda pasar,
|
|
|
- tanto como opciones de array o en un objeto <code>Zend_Config</code>
|
|
|
+ Esta opción puede ser combinada con alguna otra opción que usted pueda pasar,
|
|
|
+ tanto como opciones de array o en un objeto <code>Zend_Config</code>
|
|
|
</para>
|
|
|
</note>
|
|
|
|
|
|
@@ -1202,18 +1202,18 @@ $form = new Zend_Form(array('disableLoadDefaultDecorators' => true));
|
|
|
<title>Usando multiples decoradores del mismo tipo</title>
|
|
|
|
|
|
<para>
|
|
|
- Internamente, <code>Zend_Form</code> usa una clase decorador
|
|
|
- como un mecanismo buscador cuando se recuperan decoradores. Como
|
|
|
- resultado, no se pueden registrar multiples decoradores del mismo
|
|
|
- tipo; subsecuentemente los decoradores simplemente sobrescribirán esos
|
|
|
- decoradores que existían antes.
|
|
|
+ Internamente, <code>Zend_Form</code> usa una clase decorador
|
|
|
+ como un mecanismo buscador cuando se recuperan decoradores. Como
|
|
|
+ resultado, no se pueden registrar multiples decoradores del mismo
|
|
|
+ tipo; subsecuentemente los decoradores simplemente sobrescribirán esos
|
|
|
+ decoradores que existían antes.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Para conseguir esto, se pueden usar alias. En vez de pasar un
|
|
|
- decorador o un nombre de decorador como primer argumento a
|
|
|
+ Para conseguir esto, se pueden usar alias. En vez de pasar un
|
|
|
+ decorador o un nombre de decorador como primer argumento a
|
|
|
<code>addDecorator()</code>, pase un array con un solo
|
|
|
- elemento, con el alias apuntando al objeto decorador o
|
|
|
+ elemento, con el alias apuntando al objeto decorador o
|
|
|
nombre:
|
|
|
</para>
|
|
|
|
|
|
@@ -1227,7 +1227,7 @@ $form = $element->getDecorator('FooBar');
|
|
|
</programlisting>
|
|
|
|
|
|
<para>
|
|
|
- En los métodos <code>addDecorators()</code> y
|
|
|
+ En los métodos <code>addDecorators()</code> y
|
|
|
<code>setDecorators()</code>, se necesitará pasar
|
|
|
la opción 'decorator' en el array representando el decorador:
|
|
|
</para>
|
|
|
@@ -1250,11 +1250,11 @@ $fooBar = $form->getDecorator('FooBar');
|
|
|
</note>
|
|
|
|
|
|
<para>
|
|
|
- Puede crear su propio decorador para generar el formulario. Un
|
|
|
- caso de uso común es si sabe el HTML exacto que desea usar; su
|
|
|
- decorador puede crear el mismo HTML y simplemente retornarlo,
|
|
|
- potencialmente usando los decoradores de individuales elementos o
|
|
|
- grupos de visualización.
|
|
|
+ Puede crear su propio decorador para generar el formulario. Un
|
|
|
+ caso de uso común es si sabe el HTML exacto que desea usar; su
|
|
|
+ decorador puede crear el mismo HTML y simplemente retornarlo,
|
|
|
+ potencialmente usando los decoradores de individuales elementos o
|
|
|
+ grupos de visualización.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
@@ -1318,7 +1318,7 @@ echo $form->renderFieldset("<p>This is fieldset content</p>");
|
|
|
<title>Validación</title>
|
|
|
|
|
|
<para>
|
|
|
- Un caso de uso primario para formularios es validar datos enviados.
|
|
|
+ Un caso de uso primario para formularios es validar datos enviados.
|
|
|
<code>Zend_Form</code> le permite validar un formulario entero de una vez,
|
|
|
o una parte de él, asi como también automatizar las respuestas de validación para
|
|
|
XmlHttpRequests (AJAX). Si los datos enviados no son válidos, contiene
|
|
|
@@ -1339,12 +1339,12 @@ if (!$form->isValid($_POST)) {
|
|
|
|
|
|
<para>
|
|
|
<code>isValid()</code> validará cada elemento requerido, y algún
|
|
|
- elemento no requerido contenido en la data sometida.
|
|
|
+ elemento no requerido contenido en la data sometida.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Algunas veces se necesitará validar sólo un subset del dato; para
|
|
|
- esto use <code>isValidPartial($data)</code>:
|
|
|
+ Algunas veces se necesitará validar sólo un subset del dato; para
|
|
|
+ esto use <code>isValidPartial($data)</code>:
|
|
|
</para>
|
|
|
|
|
|
<programlisting role="php"><![CDATA[
|
|
|
@@ -1355,15 +1355,15 @@ if (!$form->isValidPartial($data)) {
|
|
|
</programlisting>
|
|
|
|
|
|
<para>
|
|
|
- <code>isValidPartial()</code> sólo intenta validar aquellos elementos
|
|
|
- en la información para los cuales existen similares elementos; si un elemento es
|
|
|
- no representado en la información, es pasado por alto.
|
|
|
+ <code>isValidPartial()</code> sólo intenta validar aquellos elementos
|
|
|
+ en la información para los cuales existen similares elementos; si un elemento es
|
|
|
+ no representado en la información, es pasado por alto.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Cuando se validan elementos o grupos de elementos para un requeirimiento AJAX,
|
|
|
- típicamente se validará un subset del formulario, y quiere la respuesta
|
|
|
- en JSON. <code>processAjax()</code> precisamente realiza eso:
|
|
|
+ Cuando se validan elementos o grupos de elementos para un requeirimiento AJAX,
|
|
|
+ típicamente se validará un subset del formulario, y quiere la respuesta
|
|
|
+ en JSON. <code>processAjax()</code> precisamente realiza eso:
|
|
|
</para>
|
|
|
|
|
|
<programlisting role="php"><![CDATA[
|
|
|
@@ -1372,15 +1372,15 @@ $json = $form->processAjax($data);
|
|
|
</programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Entonces, puede simplemente enviar la respuesta JSON al cliente. Si el
|
|
|
- formulario es válido, ésta será una respuesta booleana. Si no, será
|
|
|
- un objeto javascript conteniendo pares de clave/mensaje, donde cada
|
|
|
- 'message' es un array de validación de mensajes de error.
|
|
|
+ Entonces, puede simplemente enviar la respuesta JSON al cliente. Si el
|
|
|
+ formulario es válido, ésta será una respuesta booleana. Si no, será
|
|
|
+ un objeto javascript conteniendo pares de clave/mensaje, donde cada
|
|
|
+ 'message' es un array de validación de mensajes de error.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Para los formularios que fallan la validación, se pueden recuperar ambos códigos
|
|
|
- de error y mensajes de error, usando <code>getErrors()</code> y
|
|
|
+ Para los formularios que fallan la validación, se pueden recuperar ambos códigos
|
|
|
+ de error y mensajes de error, usando <code>getErrors()</code> y
|
|
|
<code>getMessages()</code>, respectivamente:
|
|
|
</para>
|
|
|
|
|
|
@@ -1392,15 +1392,15 @@ $messages = $form->getMessage();
|
|
|
|
|
|
<note>
|
|
|
<para>
|
|
|
- Dado que los mensajes devueltos por <code>getMessages()</code> son un
|
|
|
- array de pares de errores código/mensaje, <code>getErrors()</code> no
|
|
|
- es necesario.
|
|
|
+ Dado que los mensajes devueltos por <code>getMessages()</code> son un
|
|
|
+ array de pares de errores código/mensaje, <code>getErrors()</code> no
|
|
|
+ es necesario.
|
|
|
</para>
|
|
|
</note>
|
|
|
|
|
|
<para>
|
|
|
- Puede recuperar códigos y mensajes de error para elementos individuales
|
|
|
- simplemente pasando el nombre del elemento a cada uno:
|
|
|
+ Puede recuperar códigos y mensajes de error para elementos individuales
|
|
|
+ simplemente pasando el nombre del elemento a cada uno:
|
|
|
</para>
|
|
|
|
|
|
<programlisting role="php"><![CDATA[
|
|
|
@@ -1411,13 +1411,13 @@ $messages = $form->getMessages('username');
|
|
|
|
|
|
<note>
|
|
|
<para>
|
|
|
- Nota: Cuando validamos elementos, <code>Zend_Form</code> envía un
|
|
|
- segundo argumento a cada método <code>isValid()</code> del elemento:
|
|
|
+ Nota: Cuando validamos elementos, <code>Zend_Form</code> envía un
|
|
|
+ segundo argumento a cada método <code>isValid()</code> del elemento:
|
|
|
el array de los datos que se están validando. Esto puede ser usado por
|
|
|
validadores individuales para permitirles utilizar otros valores
|
|
|
enviados al determinar la validez de los datos. Un ejemplo
|
|
|
sería un formulario de registro que requiere tanto una contraseña
|
|
|
- como una confirmación de la contraseña; el elemento contraseña puede usar la
|
|
|
+ como una confirmación de la contraseña; el elemento contraseña puede usar la
|
|
|
confirmación de la contraseña como parte de su validación.
|
|
|
</para>
|
|
|
</note>
|
|
|
@@ -1426,12 +1426,12 @@ $messages = $form->getMessages('username');
|
|
|
<title>Mensajes de error personalizados</title>
|
|
|
|
|
|
<para>
|
|
|
- A veces, puede querer especificar uno o más mensajes
|
|
|
- de error en vez de los mensajes de error generados por los
|
|
|
- validadores adjuntos a los elementos. Adicionalmente, a veces
|
|
|
- puede querer marcar el formulario inválido usted mismo. Como 1.6.0,
|
|
|
- esta funcionalidad es posible siguiendo los métodos.
|
|
|
-
|
|
|
+ A veces, puede querer especificar uno o más mensajes
|
|
|
+ de error en vez de los mensajes de error generados por los
|
|
|
+ validadores adjuntos a los elementos. Adicionalmente, a veces
|
|
|
+ puede querer marcar el formulario inválido usted mismo. Como 1.6.0,
|
|
|
+ esta funcionalidad es posible siguiendo los métodos.
|
|
|
+
|
|
|
At times, you may want to specify one or more specific error
|
|
|
messages to use instead of the error messages generated by the
|
|
|
validators attached to your elements. Additionally, at times you
|
|
|
@@ -1441,9 +1441,9 @@ $messages = $form->getMessages('username');
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem><para>
|
|
|
- <code>addErrorMessage($message)</code>: añade un mensaje de error
|
|
|
- para desplegar en el formulario los errores de validación. Se debe llamar más
|
|
|
- de una vez, y los nuevos mensajes son adicionados a la pila.
|
|
|
+ <code>addErrorMessage($message)</code>: añade un mensaje de error
|
|
|
+ para desplegar en el formulario los errores de validación. Se debe llamar más
|
|
|
+ de una vez, y los nuevos mensajes son adicionados a la pila.
|
|
|
</para></listitem>
|
|
|
|
|
|
<listitem><para>
|
|
|
@@ -1468,13 +1468,13 @@ $messages = $form->getMessages('username');
|
|
|
</para></listitem>
|
|
|
|
|
|
<listitem><para>
|
|
|
- <code>markAsError()</code>: marca el formulario como que la
|
|
|
+ <code>markAsError()</code>: marca el formulario como que la
|
|
|
validación ha fallado.
|
|
|
</para></listitem>
|
|
|
|
|
|
<listitem><para>
|
|
|
- <code>addError($message)</code>: añade un mensaje a la pila de
|
|
|
- mensajes de error personalizados y señala al formulario como inválido.
|
|
|
+ <code>addError($message)</code>: añade un mensaje a la pila de
|
|
|
+ mensajes de error personalizados y señala al formulario como inválido.
|
|
|
</para></listitem>
|
|
|
|
|
|
<listitem><para>
|
|
|
@@ -1696,17 +1696,17 @@ $messages = $form->getMessages('username');
|
|
|
|
|
|
<para>
|
|
|
<code>Zend_Form</code> es totalmente configurable mediante
|
|
|
- <code>setOptions()</code> y <code>setConfig()</code> (o
|
|
|
+ <code>setOptions()</code> y <code>setConfig()</code> (o
|
|
|
pasando opciones o un objeto <code>Zend_Config</code> al
|
|
|
constructor). Usando estos métodos, se pueden especificar elementos formulario,
|
|
|
grupos de visualización, decoradores, y metadatos.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Como regla general, si 'set' + la clave de opción (option key) hacen referencia a
|
|
|
+ Como regla general, si 'set' + la clave de opción (option key) hacen referencia a
|
|
|
métodos <code>Zend_Form</code>, entonces el valor proporcionado será
|
|
|
- pasado al método. Si el accessor no existe, se asume que la clave
|
|
|
- referencia a un atributo, y será pasado a
|
|
|
+ pasado al método. Si el accessor no existe, se asume que la clave
|
|
|
+ referencia a un atributo, y será pasado a
|
|
|
<code>setAttrib()</code>.
|
|
|
</para>
|
|
|
|
|
|
@@ -1716,12 +1716,12 @@ $messages = $form->getMessages('username');
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem><para>
|
|
|
- <code>prefixPaths</code> será pasado a
|
|
|
+ <code>prefixPaths</code> será pasado a
|
|
|
<code>addPrefixPaths()</code>
|
|
|
</para></listitem>
|
|
|
|
|
|
<listitem><para>
|
|
|
- <code>elementPrefixPaths</code> será pasado a
|
|
|
+ <code>elementPrefixPaths</code> será pasado a
|
|
|
<code>addElementPrefixPaths()</code>
|
|
|
</para></listitem>
|
|
|
|
|
|
@@ -1754,8 +1754,8 @@ $messages = $form->getMessages('username');
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para>
|
|
|
- Como un ejemplo, aquí esta un archivo de configuración que pasa la configuración
|
|
|
- por cada tipo de datos configurables:
|
|
|
+ Como un ejemplo, aquí esta un archivo de configuración que pasa la configuración
|
|
|
+ por cada tipo de datos configurables:
|
|
|
</para>
|
|
|
|
|
|
<programlisting role="ini"><![CDATA[
|
|
|
@@ -1797,7 +1797,7 @@ decorators.form.decorator = "Form"
|
|
|
</programlisting>
|
|
|
|
|
|
<para>
|
|
|
- El código de arriba fácilmente puede ser abstraído a un XML o un archivo de configuración basado en arrays PHP.
|
|
|
+ El código de arriba fácilmente puede ser abstraído a un XML o un archivo de configuración basado en arrays PHP.
|
|
|
</para>
|
|
|
</sect2>
|
|
|
|
|
|
@@ -1805,14 +1805,14 @@ decorators.form.decorator = "Form"
|
|
|
<title>Formularios personalizados</title>
|
|
|
|
|
|
<para>
|
|
|
- Una alternativa a usar los formularios basados en configuraciones es realizar una subclase de
|
|
|
+ Una alternativa a usar los formularios basados en configuraciones es realizar una subclase de
|
|
|
<code>Zend_Form</code>. Esto tiene muchos beneficios:
|
|
|
</para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem><para>
|
|
|
- Se puede centrar la prueba de su formulario facilmente para asegurar las validaciones y
|
|
|
- generar la ejecución esperada.
|
|
|
+ Se puede centrar la prueba de su formulario facilmente para asegurar las validaciones y
|
|
|
+ generar la ejecución esperada.
|
|
|
</para></listitem>
|
|
|
|
|
|
<listitem><para>
|
|
|
@@ -1825,12 +1825,12 @@ decorators.form.decorator = "Form"
|
|
|
</para></listitem>
|
|
|
|
|
|
<listitem><para>
|
|
|
- Implementar funcionalidad personalizada.
|
|
|
+ Implementar funcionalidad personalizada.
|
|
|
</para></listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para>
|
|
|
- El caso mas típico de uso sería el método
|
|
|
+ El caso mas típico de uso sería el método
|
|
|
<code>init()</code> para determinar elementos de formulario específicos y
|
|
|
de configuración:
|
|
|
</para>
|
|
|
@@ -1894,15 +1894,15 @@ $form = new My_Form_Login();
|
|
|
</programlisting>
|
|
|
|
|
|
<para>
|
|
|
- y toda la funcionalidad está instalada y lista; no se necesitan archivos
|
|
|
- de configuración. (Note que este ejemplo esta simplificado, no contiene
|
|
|
- validadores o filtros para los elementos.)
|
|
|
+ y toda la funcionalidad está instalada y lista; no se necesitan archivos
|
|
|
+ de configuración. (Note que este ejemplo esta simplificado, no contiene
|
|
|
+ validadores o filtros para los elementos.)
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Otra razón común para la extension es definir un conjunto de
|
|
|
- decoradores por defecto. Puede hacerlo sobreescribiendo el
|
|
|
- método <code>loadDefaultDecorators()</code>:
|
|
|
+ Otra razón común para la extension es definir un conjunto de
|
|
|
+ decoradores por defecto. Puede hacerlo sobreescribiendo el
|
|
|
+ método <code>loadDefaultDecorators()</code>:
|
|
|
</para>
|
|
|
|
|
|
<programlisting role="php"><![CDATA[
|