如何修改PreSetData上的表单值?

时间:2019-05-02 11:24:35

标签: forms symfony events easyadmin

我不知道如何解决symfony的简易管理包问题。

我有一个实体。我想控制如何将数据与默认的简易管理表单合并,该表单将在编辑视图中使用。最好的方法是在Symfony表单上触发的PRE_SET_DATA事件上使用事件侦听器,但我不知道如何实现(如果可能)。所以我尝试了两种解决方法:

1 /我试图使用PRE_EDIT easy admin事件,以便在其数据与表单合并之前更改实体值。但是我无法在PRE_EDIT事件中访问实体值。

window.location.href

2 /我尝试使用自定义控制器来管理编辑视图。我可以访问受版本限制的实体,这很好,但是我无法访问默认表单。因此,我无法管理实体和表单之间的合并。

// In my service.yaml
App\EventListener\FileMover:
        tags:
               {name: kernel.event_listener, event: easy_admin.pre_edit, method: preEdit }


// My listener
public function preEdit(GenericEvent $event)
    {
        // I can't find the entity value in $event
        dd($event);
    }

3 /最好在默认的easyAdmin表单上添加一个事件侦听器,但我不知道是否可能。

0 个答案:

没有答案