Zend_Form:两次使用HtmlTag Decorator?

时间:2011-08-28 15:42:04

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

是否可以使用HtmlTag装饰器将表单元素包装在div中并将整个块(标签,元素,错误等)包装在另一个div中?我想将Twitter的Bootstrap与Zend_Form一起使用,如下所示:

<div class="clearfix">
  <label for="xlInput">X-Large Input</label>
  <div class="input">
    <input class="xlarge" id="xlInput" name="xlInput" size="30" type="text" />
  </div>
</div>

有什么想法吗?

2 个答案:

答案 0 :(得分:8)

试试这个(未经测试):

$element->setDecorators( array(
    'Errors',
    'ViewHelper',
    array( array( 'wrapperField' => 'HtmlTag' ), array( 'tag' => 'div', 'class' => 'input' ) ),
    array( 'Label', array( 'placement' => 'prepend' ) ),
    array( array( 'wrapperAll' => 'HtmlTag' ), array( 'tag' => 'div', 'class' => 'clearfix' ) ),
) );

编辑:标签错误;调整。

答案 1 :(得分:2)

回复Ezequiel Muns,这里是文档中的位置:http://framework.zend.com/manual/1.7/en/zend.form.elements.html#zend.form.elements.decorators查找标注部分“注意:使用相同类型的多个装饰器。”