【问题标题】:Set data attribute for EntityType (Sonata Admin)为 EntityType 设置数据属性(奏鸣曲管理员)
【发布时间】:2017-11-09 07:37:20
【问题描述】:
 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" 的内容。该标志在数据库中设置。是否可以制定解决方法并为每一行设置一个数据属性?

【问题讨论】:

    标签: php symfony sonata-admin


    【解决方案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

    【讨论】:

    • 我会这样做,但此刻告诉我:“您可以在 2 天内接受自己的答案。”。还是谢谢你!
    猜你喜欢
    • 2023-03-11
    • 1970-01-01
    • 2012-01-07
    • 2018-04-30
    • 1970-01-01
    • 2018-03-22
    • 1970-01-01
    • 2019-12-21
    • 2016-06-12
    相关资源
    最近更新 更多