修改 GridFieldFilterHeader 以使用自定义汇总字段
Modify GridFieldFilterHeader to work with custom summary fields
为了更好地输出保存的数据,我经常使用 $summary_fields
中函数的输出,最简单的例子是 Created.Nice24
这个 returns 日期更易读格式,但阻止它按此值过滤或排序。
有没有办法解决这个问题,是否也可以修改 GridFieldFilterHeader 以使用这些不错的搜索值,并可能显示下拉字段而不是文本字段进行输入?
我可以回答你的第一个问题:不,不可能按你描述的函数表示日期的列进行排序 - 这是因为底层逻辑基本上是 "SORT BY" SQL子句和函数名显然 不是 数据库字段。
老实说,我不知道第二个是否可行,但它肯定是用于 ModelAdmin 中心窗格的自定义字段。您可以子类 GridFieldSortableHeader
并尝试修改它以执行您想要的操作。在 $searchable_fields
static 和 DataObject::scaffoldSearchFields()
的文档中进行测验,看看 CMS 本身是如何实现它的。
为了更好地输出保存的数据,我经常使用 $summary_fields
中函数的输出,最简单的例子是 Created.Nice24
这个 returns 日期更易读格式,但阻止它按此值过滤或排序。
有没有办法解决这个问题,是否也可以修改 GridFieldFilterHeader 以使用这些不错的搜索值,并可能显示下拉字段而不是文本字段进行输入?
我可以回答你的第一个问题:不,不可能按你描述的函数表示日期的列进行排序 - 这是因为底层逻辑基本上是 "SORT BY" SQL子句和函数名显然 不是 数据库字段。
老实说,我不知道第二个是否可行,但它肯定是用于 ModelAdmin 中心窗格的自定义字段。您可以子类 GridFieldSortableHeader
并尝试修改它以执行您想要的操作。在 $searchable_fields
static 和 DataObject::scaffoldSearchFields()
的文档中进行测验,看看 CMS 本身是如何实现它的。