1

我有一个名为“律师”的实体。

另一个实体是指律师。

问题是,当使用自动完成系统搜索参考字段时,会出现许多重复的名称:

Pablo
Pablo
Pablo
Pablo

我需要参考字段才能显示该人的姓氏,以便它原来是

Pablo Martínez
Paglo Gutirerrez
Pablo Iglesias
Pablo López

我怎样才能做到这一点?

4

1 回答 1

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 中可用(然后将表单显示设置导出为配置:

->setDisplayConfigurable('form', TRUE);
于 2019-12-14T13:56:33.823 回答