Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tocho

[Resolvido] Zend_Form

Recommended Posts

Eu fiz um código que gerou o seguinte form:

 

<form id="formCadastroPessoa" enctype="application/x-www-form-urlencoded" action="/cadastro/pessoa" method="post">
<dl class="zend_form">

<dt id="groups-label"> </dt>

<dd id="groups-element"><fieldset id="fieldset-groups"><legend>Dados Pessoais</legend>

<dl>
<dt id="formNome-label"><label for="formNome" class="required">Nome</label></dt>
<dd id="formNome-element"><input type="text" name="nome" id="formNome" value=""></dd>

<dt id="formSobrenome-label"><label for="formSobrenome" class="required">Sobrenome</label></dt>
<dd id="formSobrenome-element"><input type="text" name="sobrenome" id="formSobrenome" value=""></dd>

<dt id="formTelefone-label"><label for="formTelefone" class="required">Telefone</label></dt>
<dd id="formTelefone-element"><input type="text" name="telefone" id="formTelefone" value=""></dd>

<dt id="formCelular-label"><label for="formCelular" class="required">Celular</label></dt>
<dd id="formCelular-element"><input type="text" name="celular" id="formCelular" value=""></dd>
</dl>

</fieldset></dd>

</dl></form>

 

Queria adicionar uma div para flutuar os elementos, veja um exemplo:

 

<div class="esquerdo">

<dt id="formNome-label"><label for="formNome" class="required">Nome</label></dt>

<dd id="formNome-element"><input type="text" name="nome" id="formNome" value=""></dd>

 

<dt id="formSobrenome-label"><label for="formSobrenome" class="required">Sobrenome</label></dt>

<dd id="formSobrenome-element"><input type="text" name="sobrenome" id="formSobrenome" value=""></dd>

</div>

 

<div class="esquerdo">

<dt id="formTelefone-label"><label for="formTelefone" class="required">Telefone</label></dt>

<dd id="formTelefone-element"><input type="text" name="telefone" id="formTelefone" value=""></dd>

 

<dt id="formCelular-label"><label for="formCelular" class="required">Celular</label></dt>

<dd id="formCelular-element"><input type="text" name="celular" id="formCelular" value=""></dd>

</div>

 

 

Já tentei alguns estudos aqui e nada, alguém pode ajudar?

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, neste caso acho que o melhor a ser fazer é utilizar um displayGroup, que vai incluir fieldsets. Aí você faz a formatação que você quer (CSS) nos fieldsets.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, neste caso acho que o melhor a ser fazer é utilizar um displayGroup, que vai incluir fieldsets. Aí você faz a formatação que você quer (CSS) nos fieldsets.

 

Carlos Eduardo

 

É possível inserir um fieldset dentro de outro? Tentei antes e não consegui, a noite vou fazer um novo teste.

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido, vou postar a solução;

 

        $nome = new Zend_Form_Element_Text('nome');
       $nome->setLabel('Nome');

       $sobrenome = new Zend_Form_Element_Text('sobrenome');
       $sobrenome->setLabel('Sobrenome');

       $endereco = new Zend_Form_Element_Text('endereco');
       $endereco->setLabel('Endereco');

       $telefone = new Zend_Form_Element_Text('telefone');
       $telefone->setLabel('Telefone');        



       $this->addDisplayGroup(array($nome, $sobrenome, $endereco, $telefone), 'groups', array("legend" => "Dados Pessoais"));


       /* DECORADORES */
       $this->addDecorator('FormElements')
            ->addDecorator('HtmlTag', array('tag' => 'ul')) 
            ->addDecorator('Form');

       $this->setElementDecorators(array(
                                       'ViewHelper',
                                       'Label',
                                       new Zend_Form_Decorator_HtmlTag(array('tag' => 'li')) 
                                   ));

       $this->setDisplayGroupDecorators(array(
                                           'FormElements',
                                           'Fieldset',
                                           'FormErrors',
                                            new Zend_Form_Decorator_HtmlTag(array('tag' => 'div')), 
                                         ));  

 

 

Css bem básico que fiz como teste:

 

*{list-style:none; margin:0; padding:0 }
body { padding:50px }

label { display:block; float:left; width:100px; background:#CCCCCC }

ul { background:#FF9900; width:800px }
ul li { width:350px; background:#000000; float:left }
fieldset { padding:10px }

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.