Silverstripe:ajax搜索只显示ID

时间:2014-04-30 14:51:21

标签: backend silverstripe

我有一个具有耦合事件的事件内容类型。内容类型没有标题。我已经定义了一个searchable_fields私有静态:

private static $searchable_fields = array(
    'ProjectNumber',
    'EventDate'             => 'PartialMatch',
    'TicketCode'            => 'PartialMatch',
    "Package.Title"         => 'PartialMatch',
);

在现场搜索(参见附件)是有效的,但我只看到ID,至少可以说,不是最佳:-)。有没有人知道如何以显示TicketCode或EventDate的方式覆盖系统?

Dropdown example

2 个答案:

答案 0 :(得分:1)

默认情况下,GridFieldAddExistingAutocompleter会显示结果的$Title。如果您没有TitleName字段,则默认为#$ID,因为您正在查看。

您可以向类中添加getTitle方法,返回您想要的内容,或者更改组件返回的内容。

您可以使用以下内容执行此操作:

$config->getComponentByType('GridFieldAddExistingAutocompleter')->setResultsFormat('$TicketCode - $EventDate.Nice');

答案 1 :(得分:0)

使用以下内容定义您希望在GridField中显示的字段:

private static $summary_fields = array(
    'TicketCode',
    'EventDate'
);

此处的文档:http://doc.silverstripe.org/framework/en/reference/dataobject#summary-fields