dnadesign/gridfield-bulk-delete

一个允许批量删除记录的GridField组件

安装数: 2,080

依赖项: 1

建议者: 0

安全性: 0

星标: 1

关注者: 4

分支: 5

开放问题: 0

类型:silverstripe-vendormodule

1.3 2023-12-12 21:26 UTC

This package is auto-updated.

Last update: 2024-09-12 23:10:41 UTC


README

简介

GridFieldBulkDeleteForm组件添加到gridfield配置中,以添加在列表中删除记录的选项。默认情况下,它允许删除列表中的所有记录。如果有超过50条记录(可以配置)并且如果队列作业可用,将创建一个队列作业来处理删除。该组件可以配置为允许删除超过一定时间(例如:超过30天的记录)的记录。

要求

安装

composer require dnadesign/gridfield-bulk-delete ^1

注意:对于SS3,使用版本0.2

配置

添加到gridfield配置

$config->addComponent(new GridFieldBulkDeleteForm('buttons-after-right'));

可选,传递一个队列作业应该使用的记录数(默认为50)。

$config->addComponent(new GridFieldBulkDeleteForm('buttons-after-right', 100));

使用队列作业

在你的mysite/_config/config.yml文件中

GridFieldBulkDeleteForm:
  use_queued_threshold: 100

注意:将值设置为0或-1以永不使用队列作业。

启用时间间隔

在你的mysite/_config/config.yml文件中

GridFieldBulkDeleteForm:
  delete_up_to:
    '30 days' : 'Delete records created over a month ago (%s)'

注意:值必须对与DateTime modify()一起使用有效。同时,为sprintf()提供标签,其中受影响的记录数将作为参数提供。

下一项改进

  • 分块删除记录,而不是运行出内存的大作业