Ver Mensaje Individual
  #8 (permalink)  
Antiguo 14/04/2011, 16:49
jacintoCorral
 
Fecha de Ingreso: febrero-2011
Mensajes: 9
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Configurar Zend_Form con fichero ini

Ohhhh casi perfecto, bueno la verdad es que el tema del decorator description funciona a la perfección, pero me rompe el resto del html.

Tengo lo siguiente en el .ini
Código PHP:
elemento email
usuario
.alta.elements.email.type "text"
usuario.alta.elements.email.required true
usuario
.alta.elements.email.options.label 'Tu email de acceso: <span class="obligatorio">*</span>'
usuario.alta.elements.email.options.validators.strlen.validator "StringLength"
usuario.alta.elements.email.options.validators.strlen.options.max "255"
usuario.alta.elements.email.options.class= "campoTexto"



elemento password
usuario
.alta.elements.password.type "password"
usuario.alta.elements.password.options.required true
usuario
.alta.elements.password.options.label 'Contrase√±a: <span class="obligatorio">*</span>'
usuario.alta.elements.password.options.validators.strlen.validator "StringLength"
usuario.alta.elements.password.options.validators.strlen.options.min "6"
usuario.alta.elements.password.options.class= "campoTexto"

;setup decorators
usuario
.alta.elements.password.options.description 'La contrase√±a debe tener entre 6 y 10 caracteres'
usuario.alta.elements.password.options.decorators.viewHelper "ViewHelper"
usuario.alta.elements.password.options.decorators.errors "Errors"
usuario.alta.elements.password.options.decorators.description.decorator "Description"
usuario.alta.elements.password.options.decorators.description.options.class = "ayudaContext" 
y esto es lo que genera:
Código HTML:
Ver original
  1. <dl>
  2. <dt id="email-label"><label class="optional" for="email">Tu email de acceso: <span class="obligatorio">*</span></label></dt>
  3. <dd id="email-element">
  4. <input type="text" class="campoTexto" value="" id="email" name="email"></dd>
  5.  
  6. <input type="password" class="campoTexto" value="" id="password" name="password">
  7. <p class="ayudaContext">La contraseña debe tener entre 6 y 10 caracteres</p>

Como ves el <p class="ayudaContext"> esta perfecto, pero me ha eliminado los dt,dd,label y solo me ha dejado el input...

:(

Gracias de todas formas, voy a seguir dando vueltas con esto...

PD: tambien seria interesante saber si hay alguna forma de que esta modificación se aplicara a todos los "description" de todos los elementos de formulario, para no tener que repetirlo todo el rato...

Buscando más info, os dejo un par de enlaces muy interesantes sobre decorators, aunque no cumplen con ser configuración desde .ini, por lo menos cuentan como hacerlo ... y como hacer lo de asignar a todos los elementos.

http://www.maestrosdelweb.com/editorial/guia-zend-decorators-en-zend-form/
http://www.backtheweb.com/php/zend-form-decorator-parte-i.html
http://www.backtheweb.com/php/zend-form-decorator-parte-ii.html

Saludos

Última edición por jacintoCorral; 14/04/2011 a las 17:00 Razón: Encontrados enlaces con más información.