Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/06/2013, 17:03
wilmer30
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 3 meses
Puntos: 12
Problemas con decorators

Hola:

Voy maquetando mi Formulario pero tengo la necesidad:

1. Insertar solo un label el cual debe estar envuelto con un id css, además debe estar alineado horizontalmente a lado de un textbox

Agrupe los elementos y le puse ->removeDecorator('DtDdWrapper') en algunos elementos donde no quiero que tenga estos tags todo con el fin de alinear el label uno a lado de otro, esto me funciona con el submit y el button (es decir estos dos elementos están alineados horizontalmente), pero no con los imputs, a que se debe?

Código PHP:
        $nrofolios = new Zend_Form_Element_Text('nrofolios');
        
$nrofolios->setLabel('Nro. de Folios:')
        ->
removeDecorator('DtDdWrapper')
        ->
setAttrib('size','3')
        ->
setValue('1')
        ->
addFilter 'StripTags' )
        ->
addFilter 'StringTrim' )
        ->
addValidator 'Digits' )
        ->
addValidator ('StringLength' false, array(1,2));

//Deseo que este elemento esté alineadoc on el anterior
        
$nroanexos = new Zend_Form_Element_Text('nroanexos');
        
$nroanexos->setLabel('Nro. de Anexos:')
        ->
removeDecorator('DtDdWrapper')
        ->
setAttrib('size','3')
        ->
addFilter 'StripTags' )
        ->
addFilter 'StringTrim' )
        ->
addValidator 'Digits' )
        ->
addValidator ('StringLength' false, array(1,2));
//Asi los agrupo
        
$this->addElements ( array (
                
$id,
                
$idr,
                
$ide,
                
$lista,
                
$remitente,
                
$destino,
                
$fecha,
                
$referencia,
                
$nrofolios,
                
$nroanexos,
                
$anexos,
                
$tenor,
                
$submit,
                
$cancel
        
) );
        
        
$this->addDisplayGroup(array('id','ide','idr','lista','remitente','destino','fecha','referencia'),'datos1');
        
$datos1 $this->getDisplayGroup('datos1');
        
$datos1->setDecorators(array('FormElements',array('HtmlTag',array('div id' => 'wbuttoncenter'))));

        
$this->addDisplayGroup(array('nrofolios','nroanexos'),'datos2');
        
$datos2 $this->getDisplayGroup('datos2');
//         $datos2->removeDecorator('DtDdWrapper');
        
$datos2->setDecorators(array('FormElements',array('HtmlTag',array('div id' => 'wbuttoncenter'))));

        
$this->addDisplayGroup(array('anexos','tenor'),'datos3');
        
$datos3 $this->getDisplayGroup('datos3');
        
$datos3->setDecorators(array('FormElements',array('HtmlTag',array('div id' => 'wbuttoncenter'))));
        
        
$this->addDisplayGroup(array('submit','cancel'), 'botones');
        
$botones $this->getDisplayGroup('botones');
        
$botones->setDecorators(array('FormElements',array('HtmlTag',array('div id' => 'wbuttoncenter')))); 
Asi me genera el Html:
Código HTML:
<form id="compinterna" enctype="application/x-www-form-urlencoded" action="" method="post"><dl class="zend_form">
<div div id="wbuttoncenter">

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

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

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

<input type="hidden" name="lista" value="" id="lista" />
<dt id="remitente-label"><label for="remitente" class="required">Remitente:</label></dt>
<dd id="remitente-element">
<textarea name="remitente" id="remitente" rows="1" cols="60" required="" size="80"></textarea></dd>
<dt id="destino-label"><label for="destino" class="required">Dirigido a:</label></dt>
<dd id="destino-element">
<textarea name="destino" id="destino" rows="1" cols="60" required="" size="80"></textarea></dd>
<dt id="fecha-label"><label for="fecha" class="optional">Fecha y Hora:</label></dt>
<dd id="fecha-element">
<input type="text" name="fecha" id="fecha" value="26-06-2013 20:48:09" disabled="" /></dd>
<dt id="referencia-label"><label for="referencia" class="required">Referencia:</label></dt>
<dd id="referencia-element">
<textarea name="referencia" id="referencia" required="" rows="2" cols="60"></textarea></dd></div>
<div div id="wbuttoncenter">
<dt id="nrofolios-label"><label for="nrofolios" class="optional">Nro. de Folios:</label></dt>
<dd id="nrofolios-element">
<input type="text" name="nrofolios" id="nrofolios" value="1" size="3" /></dd>
<dt id="nroanexos-label"><label for="nroanexos" class="optional">Nro. de Anexos:</label></dt>
<dd id="nroanexos-element">
<input type="text" name="nroanexos" id="nroanexos" value="" size="3" /></dd></div>
<div div id="wbuttoncenter">
<dt id="anexos-label"><label for="anexos" class="optional">Anexos:</label></dt>
<dd id="anexos-element">
<textarea name="anexos" id="anexos" rows="1" cols="60"></textarea></dd>
<dt id="tenor-label">*</dt>
<dd id="tenor-element">
<textarea name="tenor" id="tenor" rows="24" cols="80"></textarea></dd></div>
<div div id="wbuttoncenter">

<input type="submit" name="submit" id="submitbutton" value="Guardar" />

<button name="cancel" id="cancel" type="button" onclick="opera('/documento/cominterna')">Cancelar</button></div></dl></form> 

2. Necesito que uno de los label tenga un link. intente así pero no funciona:
Código PHP:
        $destino = new Zend_Form_Element_Textarea 'destino' );
        
$destino->setLabel 'Dirigido a:' )
        ->
setDecorators(array(
                
'ViewHelper',
                array(array(
'data'=>'HtmlTag'),array('tag'=>'dd')),
                array(
'Label',array('tag'=>'dt')),
                array(array(
'a'=>'HtmlTag'), array('a href'=>'#'))
                ))