Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to remove dd and dt html elements when rendering a Form element in ZF?

I am rendering in my view a Zend_Form_Element_Select.

$t=new Zend_Form_Element_Select(....);
...
...
echo $t->render();

I get the drop down and the options correctly, but I also get the select element wrapped in

<dt> </dt>
<dd>[elm]</dd>

How do I remove that decorator?

like image 372
Itay Moav -Malimovka Avatar asked May 08 '09 03:05

Itay Moav -Malimovka


2 Answers

you have more possibilities: The relevant manual:

http://framework.zend.com/manual/en/zend.form.elements.html#zend.form.elements.decorators

second one is to remove decorators you don't need

$t->removeDecorator('Errors');
$t->removeDecorator('HtmlTag');
$t->removeDecorator('Label');

third one (probably the best one for you) is to set only decorators you need. Following code will set only view helper decorator, so there will be no label, no error message and no html tags

$t->setDecorators(array(
    array('ViewHelper'),
));

very good article about decorators is here:

http://devzone.zend.com/article/3450

like image 151
Martin Rázus Avatar answered Oct 05 '22 07:10

Martin Rázus


This did it for me:

$el->setDecorators(array( 'ViewHelper', 'Errors', 'Label'
));

like image 26
strick Avatar answered Oct 05 '22 07:10

strick