Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony 2.7选项属性,带有EntityType字段_Php_Symfony_Symfony Forms_Symfony 2.7 - Fatal编程技术网

Php Symfony 2.7选项属性,带有EntityType字段

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

我需要在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());
              }))

这不一定是最好的答案,但我还不能发表评论

在实施
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!!!