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'))));
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'=>'#'))
))