修改GridFieldFilterHeader以使用自定义摘要字段

时间:2016-02-15 19:01:29

标签: silverstripe

为了更好地输出已保存的数据,我经常使用$summary_fields中函数的输出,最简单的例子就是Created.Nice24这会以更易读的格式返回日期,但会阻止它出现按此值过滤或排序。

有没有办法克服这个问题,是否也可以修改GridFieldFilterHeader以使用那些漂亮的值进行搜索,并可能显示一个下拉字段而不是文本字段用于输入?

1 个答案:

答案 0 :(得分:0)

我可以回答你的第一个问题:不可能按照你所描述的那样用日期用函数表示的列进行排序 - 这是因为底层逻辑基本上是一个“SORT BY”SQL子句和一个函数名显然不是数据库字段。

老实说,如果第二种可能,我知道,但它确实适用于ModelAdmin中心窗格的自定义字段。您可以继承GridFieldSortableHeader并尝试修改它以执行您想要的操作。对$searchable_fields静态文档和DataObject::scaffoldSearchFields()的文档进行细分,看看CMS本身是如何实现的。