12

我在我的视图中呈现 Zend_Form_Element_Select。

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

我得到了正确的下拉菜单和选项,但我也得到了选择元素

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

如何删除该装饰器?

4

2 回答 2

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

于 2009-05-08T09:04:51.490 回答
3

这为我做到了:

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

于 2009-12-01T18:43:04.603 回答