默认情况下,Member对象具有以下类别:
private static $default_sort = '"Surname", "FirstName"';
我们有一个项目,我希望通过" LastEdited DESC"对CMS的安全部分中的所有成员进行排序。
我尝试使用DataExtension应用它:
class ClubMemberFields extends DataExtension {
private static $default_sort = 'LastEdited DESC';
...
}
YML:
Member:
extensions:
- 'ClubMemberFields'
即使在/ dev / build /之后,仍然按Surname / Firstname对成员进行排序。如何将$ default_sort设置为LastEdited?
答案 0 :(得分:4)
从银线条3开始,有一个新的配置系统 这个新的配置系统还可以处理$ db和$ default_sort等等。
您已经以两种方式使用此配置系统,使用private static $default_sort
和yml配置文件。
default_sort
:
Member:
default_sort: 'LastEdited DESC'
这应该覆盖private static $default_sort
的值
因为配置系统的层次结构是:Config::inst()->update()
> yml> php private static
除了在这种情况下使用yml更容易,我没有看到你的DataExtension有什么问题,也许你不能用那覆盖default_sort,我不知道。
如果yml版本也不起作用,那么您看到的列表可能不使用默认排序,而是应用自己的排序。
在这种情况下,您需要自定义列表而不是成员。
编辑:@Tama在评论中指出,该字段可能必须是summary_fields的一部分才能在GridField中工作。