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,一种解决方案可能是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 回答