在 SilverStripe 中自定义 ModelAdmin 列表

Customize ModelAdmin listing in SilverStripe

是否可以从 ModelAdmin 扩展中更改或添加自定义 summary_fields 到列表中?实际上我可以过滤名为 Type 的自定义字段,但我不知道如何自定义 summary_fields。这是我的实际代码:

class Profiles3ModelAdmin extends ModelAdmin {

    public static $menu_icon = 'mysite/images/peoples.png';
    public static $managed_models = array('Member'); 
    public static $url_segment = 'membres'; 
    public static $menu_title = 'Membres';

    public function getList() {

        $group = Group::get()->filter('Code', array('Membres'))->first();
        $list = $group->Members()->filter('Type', 1 );

        return $list;
    }

}

如果我没记错的话,您当前的查询应该可以使用 $list = Member::get()->filter(array('Groups.Code' => 'Membres', 'Type' => 1));。只需将其缩减为一行。

通常要添加到摘要中,您会将其添加到 class 的模型中。所以在这种情况下 Member 你会应用一个 DataExtension 有:

<?php
    class MyMemberDataExtension extends DataExtension{
        private static $summary_fields = array(
            'Type'
        );
    }