How to remove dd and dt html elements when renderi

2019-03-12 23:10发布

问题:

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?

回答1:

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



回答2:

This did it for me:

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