如何在Zend_Form装饰器中设置元素的文本

时间:2011-05-10 18:38:02

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

我正在尝试在以下代码中的lengend标记内设置文本:

    $element->setDecorators(array(
        'ViewHelper',
        'Description',
        'Errors',
        array(array('legend' => 'HtmlTag'), array('tag' => 'legend', 'placement' => 'prepend')),
        array(array('fieldset' => 'HtmlTag'), array('tag' => 'fieldset')),
    ));

生成以下内容:

    <fieldset>
    <legend></legend>
    </fieldset>

我希望:

    <fieldset>
    <legend>Blah</legend>
    </fieldset>

任何帮助将不胜感激!

更新

使用Regis的答案,我实现了这样:

    $decorator = new Zend_Form_Decorator_Fieldset();
    $decorator->setLegend("legend");

    $element->setDecorators(array(
        'ViewHelper',
        'Description',
        'Errors',
        array($decorator),
        array(array('div' => 'HtmlTag'), array('tag' => 'div')),
    ));        

1 个答案:

答案 0 :(得分:1)

你可以尝试这种不同的方式:

$decorator = new Zend_Form_Decorator_Fieldset();
$decorator->setLegend("legend");        
$element->addDecorators(array($decorator));