在 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'
);
}
是否可以从 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'
);
}