Zend表单 - 在输入元素</div>周围添加<div>

时间:2015-02-11 11:18:57

标签: twitter-bootstrap-3 zend-framework2 zend-form

我使用Zend Framework 2 Form来渲染我的表单,使用Bootstrap 3来设置它们的样式。 我想使用水平表格布局,如下所述: Bootstrap 3 Forms tutorial

为此,我需要在input元素周围添加一个带有适当类的div;是否有任何简单的方法来添加这样的div同时将新元素添加到Form类?到目前为止我的元素:

$this->add(array(
    'name' => 'name',
    'attributes' => array(
        'type' => 'text',
        'id' => 'contactName',
        'maxlength' => '70',
        'placeholder' => 'Your full name.',
        'class' => 'form-control'
    ),
    'options' => array(
        'label' => 'Name: ',
        'label_attributes' => array(
            'class' => 'control-label col-xs-12 col-sm-2'
        )
    ),
));

我可以在此处添加任何内容,以便在使用<div class="col-xs-12 col-sm-10"></div>呈现时轻松地在输入元素周围添加<?php echo $this->formRow($this->form->get('name')); ?>吗?

1 个答案:

答案 0 :(得分:0)

我终于通过创建自定义View Helper来解决问题:

public function __invoke($element) {
echo '<div class="form-group">';
echo $this->view->formLabel($element);
echo '<div class="col-xs-12 col-sm-10">' . $this->view->formElement($element) . '</div>';
echo $this->view->formElementErrors($element);
echo '</div>';
}

虽然我仍然想知道是否还有其他更简单的方法可以做到这一点!