使用zend表单装饰器

Hac*_*ker 1 forms zend-framework zend-form

<div class="field50Pct">
 <div class="fieldItemLabel">
  <label for='First Name'>First Name:</label>
 </div>
 <div class="fieldItemValue">
  <input type="text" id="firstname" name="firstname" value="" />
 </div>
</div>

<div class="clear"></div>
Run Code Online (Sandbox Code Playgroud)

我希望代码在源代码中显示如下.如何使用装饰器在zend中编写相同的东西?

元素就像

  $firstname = new Zend_Form_Element_Text('FirstName');
        $firstname->setLabel('FirstName')
                 ->setRequired(true)
                 ->addFilter('StripTags')
                 ->addFilter('StringTrim')
                 ->addErrorMessage('Error in First Name')
                 ->addValidator('NotEmpty');
Run Code Online (Sandbox Code Playgroud)

Key*_*ana 5

这似乎对我有用:( <div class="clear"></div>在输入后)

$firstname->setDecorators(array(
        'ViewHelper',
        'Description',
        'Errors',
        array('HtmlTag', array('tag' => 'div', 'class' => 'fieldItemValue')),
        array(array('labelDivOpen' => 'HtmlTag'), 
              array('tag' => 'div', 
                    'placement' => 'prepend', 
                    'closeOnly' => true)),
        'Label',
        array(array('labelDivClose' => 'HtmlTag'), 
              array('tag' => 'div', 
                    'class' => 'fieldItemLabel', 
                    'placement' => 'prepend', 
                    'openOnly' => true)),
        array(array('fieldDiv' => 'HtmlTag'), 
              array('tag' => 'div', 'class' => 'field50Pct')),
        array(array('divClear' => 'HtmlTag') , 
              array('tag' => 'div' ,
                    'class' => 'clear',
                    'placement' => 'append'))
    ));
Run Code Online (Sandbox Code Playgroud)