Foros del Web » Programando para Internet » PHP » Zend »

formularios en Zend (decorators)

Estas en el tema de formularios en Zend (decorators) en el foro de Zend en Foros del Web. Hola amigos, quisiera que me den una ayuda para poder lograr la siguiente estructura en los formularios Código PHP: < label > Nombre </ label ...
  #1 (permalink)  
Antiguo 24/02/2010, 14:48
 
Fecha de Ingreso: enero-2008
Mensajes: 115
Antigüedad: 16 años, 11 meses
Puntos: 1
formularios en Zend (decorators)

Hola amigos, quisiera que me den una ayuda para poder lograr la siguiente estructura en los formularios

Código PHP:
<label>Nombre</label>
<
div class="elem-form">
    <
input type="text" name="category_name" id="category_name" value="" />
</
div>

<
input type="hidden" name="id" value="" id="id" />

<
div class="elem-form">
    <
input type="submit" name="submit" id="submit" value="Save" />
</
div
y mi formulario zend seria este:

Código PHP:
class Admin_Form_Category extends Zend_Form
{
    public function 
init()
    {
        
$category_name = new Zend_Form_Element_Text('category_name');
        
$category_name
            
->setLabel('Nombre');

        
$submit = new Zend_Form_Element_Submit('submit');
        
$submit
            
->removeDecorator('Label');

        
        
$id = new Zend_Form_Element_Hidden('id');

        
$this
            
->addElement($category_name)
            ->
addElement($id)
            ->
addElement($submit)
    }

espero puedan ayudarme...
gracias
  #2 (permalink)  
Antiguo 24/02/2010, 15:45
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 17 años, 3 meses
Puntos: 20
Respuesta: formularios en Zend (decorators)

Hay muchos recursos que te ayudaran mas a comprender sobre decoradores, en zendcasts acaban de postear un video sobre este tema.

Cada decorador tiene su "placement" (prepend, append, sorround) e importa mucho el orden de tus decoradores. Te recomiendo que investigues un poco mas para que entiendas mejor.

Para tu problema seria algo asi:

Código PHP:
Ver original
  1. $this->setElementDecorators(array(
  2.             'ViewHelper',
  3.             array('decorator' => 'HtmlTag', 'options' => array('class' => 'elem-form')),
  4.             'Label'
  5.         ));
  6.  
  7.         $this->setElementDecorators(array(
  8.            'ViewHelper'
  9.         ), array('id'));
  10.  
  11.         $this->setElementDecorators(array(
  12.            'ViewHelper',
  13.             array('decorator' => 'HtmlTag', 'options' => array('class' => 'elem-form')),
  14.             //array('HtmlTag' => array('class' => 'elem-form'))
  15.         ), array('submit'));
  16.  
  17.         $this->setDecorators(array(
  18.             'FormElements',
  19.             'Form'
  20.         ));

Saludos.
__________________
I see dead pixels

Última edición por SergeMedina; 24/02/2010 a las 15:57 Razón: El decorator HtmlTag estaba mal.
  #3 (permalink)  
Antiguo 25/02/2010, 09:43
 
Fecha de Ingreso: enero-2008
Mensajes: 115
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: formularios en Zend (decorators)

gracias amigo... me funciono bien lo que me diste...
voy a intentar revisar tambien lo del video... gracias.

Etiquetas: formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:31.