Ir para conteúdo

POWERED BY:

Arquivado

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

Haveno

[Resolvido] Remover DT, DD, DL Zend_Form

Recommended Posts

Eae galera, estou usando o Zend_form mas queria tirar o decorators para não aparecer as tags dt, dd e dl.

Segue o código.

 

<?php

class Application_Form_Check extends Zend_Form
{

   public function init()
   {
// Numero de identificação
       $nome = new Zend_Form_Element_Text('numberfild');
       $nome->setRequired(true)->addValidator(new Zend_Validate_Alnum(true));
       $this->addElement($nome);

       // Botão de Envio
       $submit = new Zend_Form_Element_Submit('button');
       $submit->setIgnore(true)->setLabel('Checar');
       $this->addElement($submit);

// Configurações do Formulário
       $this->setName('check')->setMethod(self::METHOD_POST)
           ->setAction($this->getView()->url());

   }
}

 

Está retornando esse html:

 

<form id="check" enctype="application/x-www-form-urlencoded" method="post" action="/control/public/"><dl class="zend_form"> 
<dt id="numberfild-label"> </dt> 
<dd id="numberfild-element"> 
<input type="text" name="numberfild" id="numberfild" value=""></dd> 
<dt id="button-label"> </dt><dd id="button-element"> 
<input type="submit" name="button" id="button" value="Checar"></dd></dl></form>		
	<!-- <form method="post" action="index">
	<input type="text" name="numberfild" id="" />
	<input id="button" type="submit" value="verificar" alt="go" />
	</form>
	--> 

 

E eu gostaria que ele ficasse assim:

 

<form id="check" enctype="application/x-www-form-urlencoded" method="post" action="/control/public/"><dl class="zend_form"> 
<input type="text" name="numberfild" id="numberfild" value="">
<input type="submit" name="button" id="button" value="Checar"></form>		

 

Bom pessoal, sou novo no zend, já pesquisei e obviamente já achei possíveis soluções, porem não tive sucesso ao tentar implementar..

Se alguém puder me ajudar aí agradeço muito, vlws..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para remover o decorator, você faz algo assim:

 

class Application_Form_Check extends Zend_Form
{

   public function init()
   {
       // Numero de identificação
       $nome = new Zend_Form_Element_Text('numberfild');
       $nome->setRequired(true)->addValidator(new Zend_Validate_Alnum(true))->removeDecorator('HtmlTag');
       $this->addElement($nome);

       // Botão de Envio
       $submit = new Zend_Form_Element_Submit('button');
       $submit->setIgnore(true)->setLabel('Checar')->removeDecorator('HtmlTag');
       $this->addElement($submit);

       // Configurações do Formulário
       $this->setName('check')->setMethod(self::METHOD_POST)
           ->setAction($this->getView()->url());

   }
}

 

Não me lembro exatamente qual o decorator dos dt dd. Para ver todos os decorators, você pode fazer assim:

       // Numero de identificação
       $nome = new Zend_Form_Element_Text('numberfild');
       $nome->setRequired(true)->addValidator(new Zend_Validate_Alnum(true))->removeDecorator('HtmlTag');
       $this->addElement($nome);
       Zend_Debug::dump($nome->getDecorators());

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei uma solução bem legal galera..

 

// Criação do Objeto Formulário
$form = new Application_Form_Check();
// Retirar DT,DD
$form->setElementDecorators(array('ViewHelper','Errors'));
// Retirar DL
$form->setDecorators(array('FormElements', 'Form'));
// Envio para a Camada de Visualização
$this->view->form = $form;

 

Ficou exatamente como eu queria..

Obrigado a quem ajudou. Qlqer dúvida postem ae.

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.