5

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>

何か案は?

4

2 に答える 2

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' ) ),
) );

編集:ラベルが間違っていました。調整しました。

于 2011-08-28T16:07:40.290 に答える
2

Ezequiel Muns への返信として、ドキュメントの次の場所にあります: http://framework.zend.com/manual/1.7/en/zend.form.elements.html#zend.form.elements.decorators「注: 同じタイプのデコレータを複数使用する。」

于 2012-07-12T16:09:14.127 に答える