Php 在zend表单装饰器中设置属性

Php 在zend表单装饰器中设置属性,php,zend-framework,zend-form,Php,Zend Framework,Zend Form,我在Zend框架中开发了小型表单装饰器 在它里面,我想更改或设置一些属性,比如将类添加到表单元素: class My_Form_Decorator_Icon extends Zend_Form_Decorator_Abstract { /** * * @param string $content * @return string */ public function render ($content) { $element = $this->getElement();

我在Zend框架中开发了小型表单装饰器

在它里面,我想更改或设置一些属性,比如将类添加到表单元素:

class My_Form_Decorator_Icon extends Zend_Form_Decorator_Abstract
{

/**
 *
 * @param string $content
 * @return string
 */
public function render ($content)
{

    $element = $this->getElement();
    $element->setLabel('hello');
    $element->setAttrib('class', 'form-icon');
    $class = $element->getAttrib('class');

    return $content;
}
}
但什么也没发生。Label
hello
添加到表单元素,但没有类添加到元素。

代码是正确的

在表单元素中,只需将Iicon decorator放在ViewHelperdecorator之前,它就可以工作了:


$userEmail->addDecorator(数组('Icon','ViewHelper'));

您的语法看起来是正确的。您是否尝试过回显
$class
?似乎您已经尝试过了。如果没有,会出现什么?如果它确实出现,那么您可能与另一个装饰器发生冲突?表单元素显示时内部没有类,我只启用了ViewHelper装饰器,但结果是相同的,它不会显示在ren中上面显示的der代码?例如,测试
echo$class;退出;
,看看问题是否在装饰器中。