我有一个名为“律师”的实体。
另一个实体是指律师。
问题是当使用自动完成系统搜索参考字段时,会出现许多重复的名称:
巴勃罗
巴勃罗
巴勃罗
巴勃罗
我需要参考字段才能显示该人的姓氏,结果证明是
PabloMartínez
Paglo Gutirerrez
Pablo Iglesias
PabloLópez
我该怎么做?
答案 0 :(得分:0)
您将必须创建一个实体引用视图,以用作进行自动完成查找的处理程序。然后,您可以将其他字段(例如姓氏)添加到自动完成结果中。本文概述了这一过程:
https://www.cmsminds.com/blog/entity-reference-entity-reference-view-in-drupal-8/
如果该字段是基础字段,并且在“管理表单显示”页面上不可用,则必须修改实体类Lawyer :: baseFieldDefinitions函数。具体来说,您需要更改处理程序并设置表单显示设置。在您的BaseFieldDefinition :: create调用中:
->setSetting('handler', 'default')
需要更改为此:
->setSetting('handler', 'views')
->setSetting('handler_settings', [
'view' => [
'view_name' => 'name_of_entity_reference_view',
'display_name' => 'name_of_view_display',
],
])
->setDisplayOptions('form', [
'type' => 'entity_reference_autocomplete',
'weight' => 2,
'settings' => [
'match_operator' => 'CONTAINS',
'size' => '60',
'autocomplete_type' => 'tags',
'placeholder' => '',
],
])
或者,如果要在UI中使基本字段可用,则可以使用此行在表单显示设置ui中使该字段可用(然后将表单显示设置导出为config:
->setDisplayConfigurable('form', TRUE);