views:

877

answers:

2

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?

+2  A: 

Hi, you have more possibilities, first one is to read 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

harvejs
I read. I tried $t->setDecorators(array('ViewHelper')); Missed one Array in the process and it drove me crazy.
Itay Moav
A: 

This did it for me:

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

strick