2016-01-06 40 views
3

摘要网格我有存储表单提交SilverStripe一个管理模型选项卡(所谓的“约会”)。一切工作正常,数据显示在摘要网格内。但是,我需要找到一种方法来更改数据的默认排序。现在,条目被列为最旧到最新,但我需要做到这一点,所以最新的总是第一。SilverStripe - 设置默认的排序在管理员模式

望着mysql表,我看到有一个创建的列和LastEdited列在默认情况下。我想以某种方式利用创建列,所以我可以设置自定义排序覆盖默认是什么,但我不知道如何做到这一点。我从来没有试图覆盖管理模型的sumimmary网格的默认排序方法。

下面是约会类::代码

<?php 
class Appointment extends DataObject { 

    private static $db = array(
     'Name' => 'varchar', 
     'Email' => 'varchar', 
     'Phone' => 'varchar', 
     'Message' => 'HTMLText', 
    ); 

    private static $summary_fields = array(
     'Name', 
     'Email', 
     'Phone', 
     'Message', 
    ); 

    private static $field_labels = array(
     'Name' => 'Name', 
     'Email' => 'Email', 
     'Phone' => 'Phone', 
     'Message' => 'Message', 
    ); 

} 

回答

3

在SilverStripe,我们可以通过设置类$default_sort变量设置的默认排序:

class Appointment extends DataObject { 

    // ... 

    private static $default_sort = 'Created DESC'; 
} 

的另一种方式做,这是通过yml文件设置值:

Appointment: 
    default_sort: 'Created DESC' 
+0

谢谢 - 这个作品! –

+1

通过在config中设置,您也可以覆盖其他模块代码的$ default_sort而不用触摸它。 – wmk

相关问题