在 listener/subscriber 中使用的 SonataAdmin preBatch 事件
SonataAdmin preBatch Event for usage in listener/subscriber
是否有任何选项可以在 subscriber/listener 中捕捉奏鸣曲批处理动作?
已经尝试使用类似
sonata.admin.event.persistence.pre_batch,但是不行
为什么我需要那个?
当用户批量删除包含图像的实体时(背后有工作自定义上传系统),那么我也应该从文件系统中删除所有图像。
我目前的配置
(这里一切正常 我也想添加 pre_batch 事件,但到目前为止没有成功)
image.uploader.subscriber:
class: AdminBundle\EventListener\ImageUploaderSubscriber
arguments:
- '@image.remover'
- '@image.uploader'
tags:
- {name: kernel.event_listener, event: sonata.admin.event.persistence.pre_persist, method: prePersist}
- {name: kernel.event_listener, event: sonata.admin.event.persistence.pre_update, method: preUpdate}
- {name: kernel.event_listener, event: sonata.admin.event.persistence.pre_remove, method: preRemove}
似乎没有实现此事件的挂钩,因为它只能从管理员调用它 Class。
所以,也许有自己创建事件的选项?
Sonata admin 模型管理器(用于批量删除)实际上是在遍历实体。所以你可以挂钩内部学说生命周期回调并在那里做你的逻辑。
但通常 preBatch
操作不会触发任何事件,但您仍然可以在您的管理 preBatchAction
中覆盖此 class 并从那里触发您的事件。
是否有任何选项可以在 subscriber/listener 中捕捉奏鸣曲批处理动作?
已经尝试使用类似 sonata.admin.event.persistence.pre_batch,但是不行
为什么我需要那个?
当用户批量删除包含图像的实体时(背后有工作自定义上传系统),那么我也应该从文件系统中删除所有图像。
我目前的配置
(这里一切正常 我也想添加 pre_batch 事件,但到目前为止没有成功)
image.uploader.subscriber:
class: AdminBundle\EventListener\ImageUploaderSubscriber
arguments:
- '@image.remover'
- '@image.uploader'
tags:
- {name: kernel.event_listener, event: sonata.admin.event.persistence.pre_persist, method: prePersist}
- {name: kernel.event_listener, event: sonata.admin.event.persistence.pre_update, method: preUpdate}
- {name: kernel.event_listener, event: sonata.admin.event.persistence.pre_remove, method: preRemove}
似乎没有实现此事件的挂钩,因为它只能从管理员调用它 Class。
所以,也许有自己创建事件的选项?
Sonata admin 模型管理器(用于批量删除)实际上是在遍历实体。所以你可以挂钩内部学说生命周期回调并在那里做你的逻辑。
但通常 preBatch
操作不会触发任何事件,但您仍然可以在您的管理 preBatchAction
中覆盖此 class 并从那里触发您的事件。