如何将属性添加到 Zend 框架 2 中使用 Zend/Form 生成的标签

2022-08-30 17:38:11

我正在使用Zend / Form将表单添加到我的页面。

我通过按如下方式定义元素来添加元素:

    $this->add(array(
            'name' => 'value',
            'attributes' => array(
                    'type'  => 'text',
                    'id' => 'value',
                    'autocomplete' => 'off',
                    'placeholder' => 'Cost',
            ),
            'options' => array(
                    'label' => 'Cost',
            ),
    ));

如您所见,有一个“标签”=>“成本”节点,这生成了一个标签以与输入元素一起使用。

如何向此标签添加类、属性?


答案 1

请尝试这个,我还没有测试或使用过这个,但是通过源代码,它应该可以正常工作:

$this->add(array(
    'name'       => 'value',
    'attributes' => array(),
    'options'    => array(
        'label_attributes' => array(
            'class'  => 'mycss classes'
        ),
        // more options
    ),        
));

如果这不起作用,请给我留言。如果它不起作用,则不可能使用此方法,因为 限制了相当多的:FormLabelvalidAttributes

protected $validTagAttributes = array(
    'for'  => true,
    'form' => true,
);

答案 2

这在Zend Framework 2.3中运行良好:

$this->add(array(
  'name' => 'userName',
  'attributes' => array(
      'type'  => 'text',
      'class' => 'form-control',
      'placeholder' =>'Username',
  ),
  'options' => array(
      'label' => 'Username',
      'label_attributes' => array('class' => 'control-label')
  ),

));

推荐