Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/11/2010, 04:56
antoniojim
 
Fecha de Ingreso: marzo-2005
Ubicación: Málaga
Mensajes: 115
Antigüedad: 19 años, 9 meses
Puntos: 0
Respuesta: Zend Form y elementos en medio

Muchas Gracias Gator, va fantástico!!!

Cuando lo he comprendido es super fácil.

Aquí dejo el código para quién quiera y una explicación

Yo tengo un decorator para todo el formulario en forma de tabla, entonces no me funcionaba porque si le ponía mi decorator a mi elemento y luego hacía el decorator a todo el form no iba, así que me di cuenta que hay que las cosas especiales como esta hay que dejarlas para lo último.

Así que al final de mi form le pongo el decorator que quiera a mis elementos en este caso este:

Código PHP:
Ver original
  1. $check->setDecorators(array(array('ViewScript', array(
  2.  
  3.     'viewScript' => 'formRegister.phtml'
  4.  
  5. ))));

Luego creo el archivo formRegister.phtml y lo pongo en application/modules/default/views/scripts/

Pongo mi ruta completa porque una de las cosas que me pasa a la hora de recurrir a formularios en la web es que a veces no sabes donde poner las cosas.

y este es formRegister.html

Código HTML:
Ver original
  1. <tr>
  2.     <td><div style='float:right'><?php echo $this->{$this->element->helper}(
  3.  
  4.         $this->element->getName(),
  5.  
  6.         $this->element->getValue(),
  7.  
  8.         $this->element->getAttribs()
  9.  
  10.     ) ?></div></td>
  11.     <td>
  12.        
  13.         <a href="javascript:abrirV('/documents/terms.html','700','500');"><?php echo  $this->element->getLabel(); ?></a>
  14.  
  15.    
  16.  
  17.     <?php echo $this->formErrors($this->element->getMessages()) ?>
  18.  
  19.     <div class="hint"><?php echo $this->element->getDescription() ?></div>
  20.     </td>
  21. </tr>

Pongo los tr y td para que no me descuadre el diseño y añado el dichoso link para que las personas puedan ver los terminos de uso con una ventana emergente.

Espero que pueda servir de ayuda a alguién.