我为Drupal的Search API编写了一个自定义Search API处理器,该API的使用方面如此。 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');
}
}
}
}
我的问题:当我在“视图”中勾选“将此字段链接到其项目”时,索引数据(例如节点的标题)未正确链接到该项目。为什么?我需要做什么才能完成这项工作?