如何在ZF中呈现Form元素时删除dd和dt html元素?

时间:2009-05-08 03:12:46

标签: php zend-framework zend-form

我在我的视图中渲染了一个Zend_Form_Element_Select。

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

我正确地得到了下拉菜单和选项,但我也得到了包含在

中的select元素
<dt> </dt>
<dd>[elm]</dd>

如何删除该装饰器?

2 个答案:

答案 0 :(得分:18)

你有更多的可能性: 相关手册:

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

第二个是删除你不需要的装饰者

$t->removeDecorator('Errors');
$t->removeDecorator('HtmlTag');
$t->removeDecorator('Label');
第三个(可能是最好的一个)是只设置你需要的装饰器。 以下代码将只设置视图助手装饰器,因此不会有标签,没有错误信息和没有html标签

$t->setDecorators(array(
    array('ViewHelper'),
));
关于装饰器的非常好的文章在这里:

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

答案 1 :(得分:3)

这对我有用:

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