我需要为Symfony 2.7中的每个EntityType字段选择添加一个额外的HTML属性.
按照本指南,我假设EntityType从ChoiceType继承此功能.我尝试了类似下面的内容,但没有效果; 没有mytype属性被添加到渲染的选择选项中.
$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()); }))
小智.. 9
这不一定是最好的答案,但我还不能发表评论.
当choice_attr, choice_labels
在ChoiceType和EntityType上实现等等时,它似乎choice_attr
被遗忘在后者上,在github上有一些关于它的评论,我个人需要相同的功能,希望它将被实现.
https://github.com/symfony/symfony/issues/4067
PS:进一步研究,它确实是从ChoiceType继承而来的,它只出现在2.7文档中,如果你写的那样的话
'choice_attr' => function (Product $product, $key, $index) { return ['class' => $product->getType() ]; }
您应该正确设置class属性,对于我不确定的自定义属性,您可能需要使用'attr' => 'foo'
.
PPS.:经过测试'foo' =>'bar'
,它可以工作,不需要在'attr'内嵌套.
这不一定是最好的答案,但我还不能发表评论.
当choice_attr, choice_labels
在ChoiceType和EntityType上实现等等时,它似乎choice_attr
被遗忘在后者上,在github上有一些关于它的评论,我个人需要相同的功能,希望它将被实现.
https://github.com/symfony/symfony/issues/4067
PS:进一步研究,它确实是从ChoiceType继承而来的,它只出现在2.7文档中,如果你写的那样的话
'choice_attr' => function (Product $product, $key, $index) { return ['class' => $product->getType() ]; }
您应该正确设置class属性,对于我不确定的自定义属性,您可能需要使用'attr' => 'foo'
.
PPS.:经过测试'foo' =>'bar'
,它可以工作,不需要在'attr'内嵌套.