Php Symfony 2.7选项属性,带有EntityType字段
我需要在Symfony 2.7中的EntityType字段的每个选项中添加一个额外的HTML属性 根据指南,我假设EntityType从ChoiceType继承了这个特性。我尝试了下面的方法,但没有效果;未向呈现的选择选项添加mytype属性Php Symfony 2.7选项属性,带有EntityType字段,php,symfony,symfony-forms,symfony-2.7,Php,Symfony,Symfony Forms,Symfony 2.7,我需要在Symfony 2.7中的EntityType字段的每个选项中添加一个额外的HTML属性 根据指南,我假设EntityType从ChoiceType继承了这个特性。我尝试了下面的方法,但没有效果;未向呈现的选择选项添加mytype属性 $builder->add('customer_email', 'email') ->add('Product', 'entity', array( 'class' => 'MyBundle:P
$builder->add('customer_email', 'email')
->add('Product', 'entity', array(
'class' => 'MyBundle:Product',
'property' => 'name',
'empty_value' => 'None',
'required' => false,
'choice_attr' => function ($val, $key, $index) {
return array('mytype' => $val->getType());
}))
这不一定是最好的答案,但我还不能发表评论 在实施
choice\u attr时,choice\u标签
等。。。在ChoiceType和EntityType上,后者似乎没有使用choice\u attr
,github上对此有一些评论,我个人需要相同的功能,希望能够实现
p.S.:进一步研究,它确实是从ChoiceType继承而来的,并且只有在编写以下内容时,它才会出现在2.7文档中
'choice_attr' => function (Product $product, $key, $index) {
return ['class' => $product->getType() ];
}
您应该正确设置class属性,对于自定义属性,我不确定,您可能需要使用'attr'=>'foo'
p.p.S:经过测试的
'foo'=>'bar'
有效,无需嵌套在'attr'中。您的选项元素没有属性“mytype”?没错。对不起,我在问题中弄错了;编辑它。天哪!你在文件里哪里找到的?我花了几个小时在文档中搜索这个。Thnkx!!!