【发布时间】:2020-03-24 07:16:45
【问题描述】:
我正在从事 SilverStripe 项目。基本上,我将我的项目更新到 SilverStripe 版本 4.4.4。升级后发现ModelAdmin的搜索/过滤表单发生了变化,如下图所示。
我现在要做的是在本课之后尝试自定义 ModelAdmin 的搜索/过滤表单的字段。 https://www.silverstripe.org/learn/lessons/v4/introduction-to-modeladmin-1.
我有一个链接到模型管理类的数据对象类。以下是模型管理类的虚拟代码。
class EnquirySubmission extends DataObject
{
private static $db = [
//some hidden fields are here
];
private static $has_one = [
'Member' => Member::class
];
private static $summary_fields = [
'Member.Name' => 'Member',
//some hidden fields are here
];
//some hidden code goes here
public function searchableFields()
{
return [
'Member.Name' => [
'filter' => 'PartialMatchFilter',
'title' => 'Member',
'field' => \SilverStripe\Forms\DropdownField::create('Member.Name')
->setSource(
Member::get()->map('ID','Email')
)->setEmptyString('-- Member --')
],
];
}
}
正如您在代码中看到的,我正在通过覆盖 searchableFields 方法来自定义过滤器/搜索表单。但它在 SilverStripe 的升级版中不起作用。我缺少什么以及如何解决?
【问题讨论】:
标签: silverstripe silverstripe-4