Рейтинг:1

Поле API формы автозаполнения сущности с обработчиком ViewsSelection

флаг us

Я пытаюсь получить реализацию Автозаполнение объекта Поле Form API с обработчиком выбора вида, работающим в Drupal 9.

Я видел несколько примеров в Добавлен новый элемент формы 'entity_autocomplete', но он показывает, как использовать обработчик выбора по умолчанию, и кажется, что они работают только в Drupal 8. В частности, можно было передать view_name и отображаемое имя через #selection_settings:

$ форма ['пользователь'] = [
  '#type' => 'entity_autocomplete',
  '#target_type' => 'пользователь',
  '#selection_handler' => 'просмотры',
  '#selection_settings' => [
    'просмотреть' => [
      'view_name' => 'users_view',
      'display_name' => 'пользователи',
      'аргументы' => []
    ], 
    'match_operator' => 'СОДЕРЖИТ'
  ],
];

Начиная с Drupal 9.x согласно этому Обработчики выбора ссылки на сущность должны расширять базовый класс. изменить запись, я заметил, что ViewsSelection::initializeView() метод больше не выполняет поиск из $config['handler_settings'], но здесь нет никаких упоминаний о том, какие альтернативы есть в Drupal 9 в будущем и будут ли ПредставленияВыбор плагин был предназначен для поддержки #selection_settings.

Рейтинг:1
флаг cn

По-прежнему можно передавать параметры точно так же, как у вас - поиск из $config['handler_settings'] не нужен в ViewsSelection::initializeView().

#selection_settings объединены в $конфигурация массив, предоставляемый плагину при его инициализации в EntityAutocomplete::validateEntityAutocomplete()

Используя ваш код дословно, я вижу настройки, которые вы передаете там, где ожидалось:

введите описание изображения здесь

baikho avatar
флаг us
Я действительно вижу, что это действительно извлекает детали Views, у меня может быть что-то еще, нарушающее поведение. Вернёмся и подтвердим, спасибо!
baikho avatar
флаг us
Подтверждено, что это работает на новой установке Drupal 9.3.0, так что что-то еще не так в моей настройке. Спасибо

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.