我正在使用Zend Framework 2创建一个表单。我正在使用Form类来定义如下表单元素:
class PropertyForm extends Form
{
public function __construct($name=null)
{
...
$this->add(array(
'name' => 'zip',
'type' => 'Text',
'required' => false,
'options' => array(
'label' => 'Zip Code',
),
'attributes' => array(
'id' => 'zip',
'class' => 'form-control',
),
));
...
}
}
在视图中,我使用以下代码显示此表单元素:
<div class="form-group"><?php echo $this->formRow($form->get('zip')); ?></div>
这将产生以下HTML输出:
<div class="form-group">
<label for="zip">Zip Code</label>
<input type="text" name="zip" id="zip" class="form-control" value="">
</div>
我想要实现的是在输入字段周围也有<div class="my-class">
。因此,所需的HTML输出为:
<div class="form-group">
<label for="zip">Zip Code</label>
<div class="my-class">
<input type="text" name="zip" id="zip" class="form-control" value="">
</div>
</div>
我该如何实现?
答案 0 :(得分:1)
您可以通过两个不同的调用来获得label和元素本身:
对于标签:
<?php echo $this->formLabel($yourForm->get('your_element')); ?>
对于元素:
<?php echo $this->formSelect($yourForm->get('your_element_select')); ?>
<?php echo $this->formText($yourForm->get('your_element_text')); ?>
<?php echo $this->formRadio($yourForm->get('your_element_radio')); ?>
因此,以您的示例为例,
<div class="form-group">
<?php echo $this->formLabel($form->get('zip')); ?>
<div class="my-class">
<?php echo $this->formText($form->get('zip')); ?>
</div>
</div>