我有一个具有耦合事件的事件内容类型。内容类型没有标题。我已经定义了一个searchable_fields私有静态:
private static $searchable_fields = array(
'ProjectNumber',
'EventDate' => 'PartialMatch',
'TicketCode' => 'PartialMatch',
"Package.Title" => 'PartialMatch',
);
在现场搜索(参见附件)是有效的,但我只看到ID,至少可以说,不是最佳:-)。有没有人知道如何以显示TicketCode或EventDate的方式覆盖系统?
答案 0 :(得分:1)
默认情况下,GridFieldAddExistingAutocompleter
会显示结果的$Title
。如果您没有Title
或Name
字段,则默认为#$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