为EntityType设置数据属性(Sonata Admin)

时间:2017-11-09 07:37:21

标签: php symfony sonata-admin

 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder
         ->add('category', EntityType::class, [
             'required' => false,
             'class'    => CashTransactionCategory::class,
             'label'    => 'Category *',
             'attr'     => [
                 'class'       => 'js-cash_category',
                 'placeholder' => 'Select a category'
             ]
     ]);
}

这是一个Select2类型输入,我试图设置类似data-flag =" flag"对于每个属性。该标志在数据库中设置。是否可以制定解决方法并为每一行设置数据属性?

1 个答案:

答案 0 :(得分:1)

我想出了一个简单的解决方案,这是错误的:

$builder
    ->add('category', EntityType::class, [
        'required'    => false,
        'class'       => CashTransactionCategory::class,
        'label'       => 'Category *',
        'attr'        => [
            'class'       => 'js-cash_category',
            'placeholder' => 'Select a category',
        ],
        'choice_attr' => function ($object) {
             return ['data-flag' => $object->getFlag()];
        }
   ]);

那是因为我使用的是EntityType而不是ChoiceType。 (也许这会对某人有帮助)

我的Symfony版本:3.3.9