0

ZF1では、フォームとフォーム要素にビューのsetDescriptionように出力されるメソッドがあり<p>description here</p>ました.... ZF2にはこのメソッドがないようですので、私の質問はフォーム要素に説明を追加するにはどうすればよいですか?

これは私の見解です:

<div>
    <?
    $form = $this->form;
    $form->prepare();
    echo $this->form()->openTag($form);

    foreach ($form->getElements() as $el) {
        ?>
        <div class="form_element">
            <?=$this->formRow($el);?>
        </div>
        <?
    }
    echo $this->partial('system/form/buttons_form_part.phtml', array('form' => $form));
    echo $this->form()->closeTag();
    ?>
</div>
4

2 に答える 2

5

ZF 2.1.5 を使用すると、1 つの解決策がsetOptions().

フォーム定義では:

$file = new Element\File('file');
$file->setLabel('Photo (.jpg, .gif, .png)');
$file->setOptions(array('description' => 'test description'));
…

フォーム要素をレンダリングする場合:

$element = $form->get(…);    
var_dump($element->getOptions()); 

以下にアクセスできます:

array(1) { ["description"]=> string(16) "test description" } 
于 2013-03-24T22:04:02.130 に答える
0

要素のラベルを意味する場合は、setLabel(コントローラーで)フォームを作成するときにメソッドを使用できます。

$name = new Element('name');
$name->setLabel('Your name');

または、配列を使用してフォーム要素を作成する場合は、次を使用します。

array(
        'spec' => array(
            'name' => 'name',
            'options' => array(
                'label' => 'Your name',
            ),
            'attributes' => array(
                'type'  => 'text'
            ),
        )
    ),

ここにリンクがあります:

ここにリンクの説明を入力してください

于 2013-03-13T21:10:18.133 に答える