ZF2表单元素描述

时间:2013-03-13 07:05:09

标签: zend-form zend-framework2 zend-form-element

在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>

2 个答案:

答案 0 :(得分: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" } 

答案 1 :(得分:0)

如果您指的是Element的标签,则可以在创建表单时使用setLabel方法(在Controller中)。

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

或者,如果您使用数组创建表单元素,请使用以下命令:

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

这是一个链接:

enter link description here