Zend Framework 2 骨架布局

Zend Framework 2 Skeleton Layout

我正在使用 Zend Framework 2 和骨架应用程序创建表单。

我希望我的布局复制默认示例:

正如您在上面看到的,表单输入拉伸到屏幕的宽度。生成此代码的代码是(仅以电子邮件地址字段为例):

<div class="form-group">
    <label for="exampleInputEmail1">Email address</label>
    <input type="email" placeholder="Email" id="exampleInputEmail1" class="form-control">
</div>

我希望在使用 Zend Framework 2(骨架应用程序)添加自己的表单元素时出现相同的结果。但是当我添加一个元素时:

$this->add(array(
         'name' => 'campaign_code',
         'type' => 'Text',             
         'options' => array(
             'label' => 'Campaign Code',
         ),
         'attributes' => array(
            'class'  => 'form-control',
         )                
     ));

结果HTML是:

<div class="form-group">
    <label>
        <span>Campaign Code</span>
        <input class="form-control" type="text" name="campaign_code">
    </label>
</div>

导致:

注意到 label 标签是如何包围 spaninput 元素的吗?我不想要那个。我希望 label 标签像第一个 html 示例一样自行关闭。

表单视图助手在呈现表单元素时非常智能。

Add an id attribute with respective element

 $this->add(array(
     'name' => 'campaign_code',
     'type' => 'Text',             
     'options' => array(
         'label' => 'Campaign Code',
     ),
     'attributes' => array(
        'class'  => 'form-control',
        'id'  => 'your_id',
     )                
 ));