我有一个名为“律师”的实体。
另一个实体是指律师。
问题是,当使用自动完成系统搜索参考字段时,会出现许多重复的名称:
Pablo
Pablo
Pablo
Pablo
我需要参考字段才能显示该人的姓氏,以便它原来是
Pablo Martínez
Paglo Gutirerrez
Pablo Iglesias
Pablo López
我怎样才能做到这一点?
我有一个名为“律师”的实体。
另一个实体是指律师。
问题是,当使用自动完成系统搜索参考字段时,会出现许多重复的名称:
Pablo
Pablo
Pablo
Pablo
我需要参考字段才能显示该人的姓氏,以便它原来是
Pablo Martínez
Paglo Gutirerrez
Pablo Iglesias
Pablo López
我怎样才能做到这一点?
您必须创建一个实体参考视图以用作执行自动完成查找的处理程序。然后,您可以将其他字段(例如姓氏)添加到自动完成结果中。本文很好地概述了该过程:
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 中可用(然后将表单显示设置导出为配置:
->setDisplayConfigurable('form', TRUE);