Drupal 8-实体参考-自动完成-添加要搜索的字段并导致自动完成

问题描述 投票:1回答:1

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

[另一个实体指律师。

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

我需要参考字段才能显示该人的姓氏,以便证明巴勃罗·马丁内斯(PabloMartínez)帕格罗·古铁雷斯巴勃罗·伊格莱西亚斯(Pablo Iglesias)PabloLópez

我该怎么做?

autocomplete drupal-8 entityreference
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中使该字段可用(然后将表单显示设置导出为config:

->setDisplayConfigurable('form', TRUE);
© www.soinside.com 2019 - 2024. All rights reserved.