0

我有带有字段的表格:

$this -> add(
        array(
            'name' => 'firstfield',
            'attributes' => array(
                'type'  => 'text',
                'id' => 'id_firstfield'
            ),
            'options' => array(
                'label' => 'firstfield'
            ),
        )
    );

$this -> add(
        array(
            'name' => 'secondfield',
            'attributes' => array(
                'type'  => 'text',
                'id' => 'id_secondfield'
            ),
            'options' => array(
                'label' => 'secondfield'
            ),
        )
    );

当我使用:

echo $this->formCollection($form);

在我看来,我得到:

[...]
<label for="id_firstfield">first field</label>
<input name="firstfield" type="text" id="id_firstfield" value="">
<label for="id_secondfield">second field</label>
<input name="secondfield" type="text" id="id_secondfield" value="">
[...]

但我想得到:

[...]
<div id="divforfirstfield">
    <label for="id_firstfield">first field</label>
    <input name="firstfield" type="text" id="id_firstfield" value="">
</div>
<div id="divforsecondfield">
    <label for="id_secondfield">second field</label>
    <input name="secondfield" type="text" id="id_secondfield" value="">
</div>
[...]

这个怎么做?

4

1 回答 1

3

使用formCollection()this 是不可能的。但是,您可以这样做:

<div id="firstid">
    <?php echo $this->formRow($form->get('firstfield')); ?>
</div>
<div id="secondid">
    <?php echo $this->formRow($form->get('secondfield')); ?>
</div>

如果您只想通过一个函数调用来呈现表单,您将不得不formCollection()使用您自己的一个来扩展视图助手。

于 2013-03-21T11:07:33.750 回答