How to remove dd and dt html elements when renderi

2019-03-12 22:26发布

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条回答
虎瘦雄心在
2楼-- · 2019-03-12 23:09

This did it for me:

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

查看更多
Ridiculous、
3楼-- · 2019-03-12 23:18

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

查看更多
登录 后发表回答