Zend Framework:如何在Zend_Form_Element_File上删除DtDd Decorator?

时间:2010-08-05 18:34:14

标签: zend-framework zend-form-element zend-decorators

我已经尝试了所有我能想到的事情,但我无法弄清楚如何仅在ViewHelper上显示Zend_Form_Element_File装饰器。

$UserPhoto = new Zend_Form_Element_File('UserPhoto');
$UserPhoto->setDestination(TMP_DIR);
$UserPhoto->addValidator('Count', false, 1);
$UserPhoto->addValidator('Size', false, 10240000); // 10 mb max
$this->addElement($UserPhoto);

在我的视图脚本中:

echo $this->form->UserPhoto

生成

<dt>label</dt>
<dd>input element</dd>

这就是我想要的:

input element

2 个答案:

答案 0 :(得分:2)

这是我能让它发挥作用的唯一方法:

$this->addElement($UserPhoto, 'UserPhoto');
$this->UserPhoto->removeDecorator('label');
$this->UserPhoto->removeDecorator('htmlTag'); //DtDd

答案 1 :(得分:2)

最短的形式是:

$UserPhoto->setDecorators(array('File'))