【发布时间】:2014-06-07 07:15:24
【问题描述】:
我创建了一个AlbumDataObject,如下,通过ModelAdmin在cms中管理。
在搜索过滤器中,Name 是唯一的输入字段。我还想显示一个Author 输入字段。
所以我试图覆盖getCustomSearchContext() 函数,但这不起作用。
class Album extends DataObject {
private static $db = array(
'Name' => 'Varchar(200)',
'Author' => 'Varchar(200)',
);
private static $has_many = array(
'Genres' => 'Genre'
);
public function getCustomSearchContext() {
$fields = $this->scaffoldSearchFields(array(
'restrictFields' => array()
));
$filters = array(
'Name' => new PartialMatchFilter('Name'),
'Author' => new PartialMatchFilter('Author')
);
return new SearchContext(
$this->class,
$fields,
$filters
);
}
}
我知道我们可以使用$searchable_fields,但我不想使用它们,因为我想在搜索表单中自定义表单字段。
【问题讨论】:
标签: php silverstripe