Я написал обработчик API пользовательского поиска для API поиска Drupal, который работает в соответствии с требованиями.Метод addFieldValues выглядит следующим образом:
public function addFieldValues(ItemInterface $item) {
$original_entity = $item->getOriginalObject()->getValue();
$nid = $original_entity->id();
$nids = \Drupal::entityQuery('node')
->condition('status', 1)
->condition('type', 'kwe')
->condition('field_personen.entity:paragraph.field_person.target_id', $nid)
->execute();
if ($nids) {
$nodes = \Drupal::entityTypeManager()
->getStorage('node')
->loadMultiple($nids);
$fieldsForProp = $this->getFieldsHelper()
->filterForPropertyPath($item->getFields(), NULL, 'person_kwe');
foreach ($fieldsForProp as $field) {
foreach ($nodes as $node) {
$field->addValue($node, 'person_kwe');
}
}
}
}
Моя проблема: Когда я отмечаю 'Связать это поле с его элементом' в представлениях, индексированные данные (например, название узла) не являютсяпривязан к предмету правильно.Зачем?Что мне нужно сделать, чтобы получить эту работу?