Php Symfony2,如何使表单标签类/attr与其输入不同?
我想构建一个带有标签和输入的表单,但是它们的类应该不同。下面的代码为具有相同属性的输入创建标签:Php Symfony2,如何使表单标签类/attr与其输入不同?,php,forms,symfony,Php,Forms,Symfony,我想构建一个带有标签和输入的表单,但是它们的类应该不同。下面的代码为具有相同属性的输入创建标签: public function buildForm(FormBuilder $builder, array $options) { $builder ->add('hours', null , array('attr'=> array(
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('hours', null ,
array('attr'=>
array(
'placeholder'=>'Working Hours',
'class'=>'ui-spinner-box') ) )
}
在上面的“我的代码”中,将为标签和输入输出ui微调器框
。它甚至会为其标签放置占位符
因此,如何使其分别为标签创建attr
,以便我可以输出如下内容:
<label class="MYCLASSFOR_LABEL" for="input_id">Hours</label>
<input class="MYCLASSFOR_INPUTS" type="text" id="input_id" name="" value="" >
小时
如中所述:
- attr:一个键值数组,将在字段上呈现为HTML属性
- label_attr:将在标签上呈现为HTML属性的键值数组
- 对于symfony 2.1及更新版本的使用:
{{ form_label(form.hours, null, {'label_attr': {'class': 'foo'}}) }}
- 在传统的symfony 2.0中,它曾经是
{{ form_label(form.hours, { 'label_attr': {'class': 'MYCLASSFOR_LABEL'} }) }} {{ form_widget(form.hours, { 'attr': {'class': 'MYCLASSFOR_INPUTS'} }) }}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('hours', null, array(
'label_attr' => array('class' => 'MYCLASSFOR_LABEL'),
'attr' => array('class' => 'MYCLASSFOR_INPUTS'),
));
}
以上内容不再正确,至少在我使用它的上下文中是这样。在Symfony 2.1中,解决方案是:
{{ form_label(form.item, label|default(null), { 'label_attr': { 'class': 'MYCLASS' } }) }}
这可能是新的,但现在有一个简单的方法:
$builder
->add('hours', null , array(
'attr'=>
array(
'placeholder'=>'Working Hours',
'class'=>'MYCLASSFOR_INPUTS')
) ,
'label_attr' => array(
'class' => 'MYCLASSFOR_LABEL'
)
);
您正在寻找的选项是
label\u attr
这在Symfony 2.3中对我很有用:
{{ form_row(form.hours, { 'label': 'Hours:'
,'label_attr': {'class': 'MYCLASSFOR_LABEL'}
,'attr': {'class': 'MYCLASSFOR_INPUTS'}
}
)
}}
实际上它必须是:
{form_label(hours,null,{'attr':{'class':'MYCLASSFOR_label'}}}}}
,因为第二个参数是标签名。如果您传递null,它将仍然使用build form中设置的值可能更简单,在buildForm中--请参阅我的answersmall更新@insertusernamehere注释,它应该是{form撴label(小时,null,{'label撴attr':{'class':'MYCLASSFOR撴label'}}}}
在文档中的任何地方都找不到它,但就在上面!确切地说,我一直在寻找这个如何为单选按钮(选择类型)工作?标签_attr似乎仅适用于整个标签,而不适用于每个单选按钮选项旁边的标签。