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

Estructura en Zend Decorators

Estas en el tema de Estructura en Zend Decorators en el foro de Zend en Foros del Web. Hola a todos de nuevo. Querría hacer una estructura de este tipo en mi Zend_Form con decorators pero no lo consigo. Código HTML: <div class= ...
  #1 (permalink)  
Antiguo 03/07/2011, 12:58
 
Fecha de Ingreso: junio-2011
Ubicación: Granada
Mensajes: 19
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta Estructura en Zend Decorators

Hola a todos de nuevo.

Querría hacer una estructura de este tipo en mi Zend_Form con decorators pero no lo consigo.

Código HTML:
<div class="form">
  <div>
      <table>
          <td><label>1º elemento de mi form</label></td>
          <td><input type="text" name="id" id="id" value=""/></td>
          <td><label>2º elemento de mi form</label></td>
          <td><input type="text" name="id" id="id" value=""/></td>
      </table>
  </div>
  <div>
      <table>
          <td><label>3º elemento de mi form</label></td>
          <td><input type="text" name="id" id="id" value=""/></td>
      </table>
  </div>
</div> 
Creo que no entiendo realmente el funcionamiento del HtmlTag. Según he leído y consultado, simplemente sirve para colocar tags html envolventes, pero no hace lo que yo espero.
  #2 (permalink)  
Antiguo 03/07/2011, 13:46
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Estructura en Zend Decorators

Que es lo que tienes echo ?, y deberias utilizar tablas para desplegar datos tabulados no un formulario.
__________________
http://es.phptherightway.com/
thats us riders :)

Última edición por masterpuppet; 03/07/2011 a las 13:52
  #3 (permalink)  
Antiguo 03/07/2011, 14:09
 
Fecha de Ingreso: junio-2011
Ubicación: Granada
Mensajes: 19
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Estructura en Zend Decorators

Ahora mismo tengo esto:

Código PHP:
<?php
class Personas_Form_Persona extends ZendX_JQuery_Form{

    public function 
__construct($options null){
        
parent::__construct($options);

        
$this->setName('persona');
        
$id = new Zend_Form_Element_Text("id", array("readonly" => "readonly"));
        
$id->setLabel(utf8_encode('Código'))
        ->
setAttrib("size""4")
        ->
setAttrib("maxlength ""4");

        
$nombre = new Zend_Form_Element_Text('nombre');
        
$nombre->setLabel('Nombre')
        ->
setAttrib("size""70")
        ->
setAttrib("maxlength ""200")
        ->
setRequired(true)
        ->
addFilter('StripTags')
        ->
addFilter('StringTrim')
        ->
addValidator('NotEmpty'true, array('messages' => array('isEmpty' => 'El campo es obligatorio')));
        
        
$nomfiscal = new Zend_Form_Element_Text('nomfiscal');
        
$nomfiscal->setLabel('Nombre fiscal')
        ->
setAttrib("size""70")
        ->
setAttrib("maxlength ""200")
        ->
addFilter('StripTags')
        ->
addFilter('StringTrim');

        
$nif = new Zend_Form_Element_Text('nif');
        
$nif->setLabel('Nif')
        ->
setAttrib("size""15")
        ->
setAttrib("maxlength ""15")
        ->
setRequired(true)
        ->
addFilter('StripTags')
        ->
addFilter('StringTrim')
        ->
addValidator('NotEmpty'true, array('messages' => array('isEmpty' => 'El campo es obligatorio')));
        
        
$telefono = new Zend_Form_Element_Text('telefono');
        
$telefono->setLabel(utf8_encode('Teléfono'))
        ->
setAttrib("maxlength ""30")
        ->
addFilter('StripTags')
        ->
addFilter('StringTrim');
        
        
$fax = new Zend_Form_Element_Text('fax');
        
$fax->setLabel('Fax')
        ->
setAttrib("maxlength ""30")
        ->
addFilter('StripTags')
        ->
addFilter('StringTrim');
        
        
$direccion1 = new Zend_Form_Element_Text('direccion1');
        
$direccion1->setLabel(utf8_encode('Dirección'))
        ->
addFilter('StripTags')
        ->
addFilter('StringTrim');
        
        
$direccion2 = new Zend_Form_Element_Text('direccion2');
        
$direccion2->setLabel(utf8_encode('Dirección entrega'))
        ->
addFilter('StripTags')
        ->
addFilter('StringTrim');
        
        
$cp = new Zend_Form_Element_Text('cp');
        
$cp->setLabel(utf8_encode('Código postal'))
        ->
addFilter('StripTags')
        ->
addFilter('StringTrim');
        
        
$poblacion = new Zend_Form_Element_Text('poblacion');
        
$poblacion->setLabel(utf8_encode('Población'))
        ->
addFilter('StripTags')
        ->
addFilter('StringTrim');
        
        
$provincia = new Zend_Form_Element_Text('provincia');
        
$provincia->setLabel('Provincia')
        ->
addFilter('StripTags')
        ->
addFilter('StringTrim');
        
        
$email = new Zend_Form_Element_Text('email');
        
$email->setLabel('Email')
        ->
addFilter('StripTags')
        ->
addFilter('StringTrim');
        
        
$clave = new Zend_Form_Element_Password('clave');
        
$clave->setLabel('Clave')
        ->
addFilter('StripTags')
        ->
addFilter('StringTrim');
        
        
$contacto = new Zend_Form_Element_Text('contacto');
        
$contacto->setLabel('Persona contacto')
        ->
addFilter('StripTags')
        ->
addFilter('StringTrim');
        
        
$entidad = new Zend_Form_Element_Text('entidad');
        
$entidad->setLabel('Entidad')
        ->
setAttrib("size""4")
        ->
setAttrib("maxlength ""4")
        ->
addFilter('StripTags')
        ->
addFilter('StringTrim');
        
        
$oficina = new Zend_Form_Element_Text('oficina');
        
$oficina->setLabel('Oficina')
        ->
setAttrib("size""4")
        ->
setAttrib("maxlength ""4")
        ->
addFilter('StripTags')
        ->
addFilter('StringTrim');
        
        
$dg = new Zend_Form_Element_Text('dg');
        
$dg->setLabel(utf8_encode('Dígito control'))
        ->
setAttrib("size""2")
        ->
setAttrib("maxlength ""2")
        ->
addFilter('StripTags')
        ->
addFilter('StringTrim');
        
        
$ccc = new Zend_Form_Element_Text('ccc');
        
$ccc->setLabel(utf8_encode('Ccc'))
        ->
setAttrib("size""8")
        ->
setAttrib("maxlength ""8")
        ->
addFilter('StripTags')
        ->
addFilter('StringTrim');

        
$submit = new Zend_Form_Element_Submit('submit');
        
$submit->setAttrib('id''submitbutton');
        
        
$this->addElements(array($id$nombre$nomfiscal$nif$telefono$fax$direccion1$direccion2$poblacion$provincia$cp$email$clave$contacto$entidad$oficina$dg$ccc$submit));
        
        
$this->setDecorators(
            array(
                
"FormElements",
                array(
"HtmlTag", array("tag" => "table")),
                
"Form"
            
)
        );
        
        
$this->setElementDecorators(
            array(
                
"ViewHelper",
                array(
"HtmlTag", array("tag" => "td""colspan" => "7")),
                array(
"Label" , array("tag" => "th")),
                   array(array(
"tr" => "HtmlTag"), array("tag" => "tr"))
           )
        );
        
        
$this->getElement('telefono')->setDecorators(
            array(
                
"ViewHelper",
                array(
"HtmlTag", array("tag" => "td")),
                array(
"Label" , array("tag" => "td")),
                   array(array(
"tr" => "HtmlTag"), array("tag" => "tr"'openOnly' => true))
           )
        );
        
        
$this->getElement('fax')->setDecorators(
            array(
                
"ViewHelper",
                array(
"HtmlTag", array("tag" => "td")),
                array(
"Label" , array("tag" => "td")),
                   array(array(
"tr" => "HtmlTag"), array("tag" => "tr"'closeOnly' => true))
           )
        );
        
        
$this->getElement('entidad')->setDecorators(
            array(
                
"ViewHelper",
                array(
"HtmlTag", array("tag" => "td")),
                array(
"Label" , array("tag" => "th")),
                   array(array(
"tr" => "HtmlTag"), array("tag" => "tr"'openOnly' => true))
           )
        );
        
        
$this->getElement('oficina')->setDecorators(
            array(
                
"ViewHelper",
                array(
"HtmlTag", array("tag" => "td")),
                array(
"Label" , array("tag" => "th")),
           )
        );
        
        
$this->getElement('dg')->setDecorators(
            array(
                
"ViewHelper",
                array(
"HtmlTag", array("tag" => "td")),
                array(
"Label" , array("tag" => "th")),
           )
        );
        
        
$this->getElement('ccc')->setDecorators(
            array(
                
"ViewHelper",
                array(
"HtmlTag", array("tag" => "td")),
                array(
"Label" , array("tag" => "th")),
                array(array(
"tr" => "HtmlTag"), array("tag" => "tr"'closeOnly' => true))
           )
        );
    }
}
?>
No se si es que esto de los decorators está un poco limitado o que yo no me entero bien de que va el tema. Supongo que al final me decantaré por los ViewScript Decorators que según dicen, tienes más control.

De todas maneras esta estructura que tengo ahora mismo me vale, no es lo que yo quería exactamente, pero no está mal.

Etiquetas: estructura, frameworks-y-php-orientado-a-objetos
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 13:55.