我的表格有字段:
$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>
[...]
怎么做?
答案 0 :(得分:3)
使用formCollection()
这是不可能的。但是你可以这样做:
<div id="firstid">
<?php echo $this->formRow($form->get('firstfield')); ?>
</div>
<div id="secondid">
<?php echo $this->formRow($form->get('secondfield')); ?>
</div>
如果您只想通过一个函数调用来呈现表单,那么您必须使用自己的一个来扩展formCollection()
视图助手。