代码之家  ›  专栏  ›  技术社区  ›  revengeance

用于侦听器/订阅服务器的SonataAdmin批处理前事件

  •  0
  • revengeance  · 技术社区  · 7 年前

    在订阅服务器/侦听器中是否有捕获sonata批处理操作的选项?

    已经尝试使用类似 sonata.admin.event.persistence.pre_批处理 但是不起作用

    为什么我需要那个?

    当用户批量删除包含图像的实体(后面有工作的自定义上载程序sys)时,我也应该删除文件系统中的所有图像。

    我当前的配置

    ( 这里一切正常 我还想添加预批量事件,但到目前为止还没有成功)

        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}
    

    似乎这个事件的钩子没有实现,因为它只能从管理类调用它。

    所以,也许有自己创建活动的选择?

    1 回复  |  直到 7 年前
        1
  •  1
  •   M. Kebza    7 年前

    但总的来说 preBatch 操作不会触发任何事件,但您仍然可以覆盖此 preBatchAction 在你的管理类中,从那里触发你的事件。