2016-01-06 42 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

相關問題