/** * {@inheritDoc} */ public function getOptions($term, array $options) { $fieldSearch = ['vocab' => [], 'terms' => ['name' => $term]]; $fieldDefinitions = $this->fieldManager->getEntityFieldMapping($options['class']); foreach ($fieldDefinitions as $fieldName => $fieldDefinition) { if ($fieldDefinition['searchable']) { $fieldSearch['terms'][$fieldName] = $term; } } /** @var Tag[] $taxonomies */ $taxonomies = $this->searchAdaptor->search($options['class'], $fieldSearch, $options['page_size'], $options['page_offset']); $tagOptions = []; foreach ($taxonomies as $taxonomy) { $tagOptions[] = ['text' => (string) $taxonomy, 'id' => $taxonomy->getId()]; } if ($options['allow_new']) { $tagOptions[] = ['text' => $term, 'id' => $term]; } return $tagOptions; }
/** * {@inheritDoc} */ public function getOptions($term, array $options) { return $this->searchAdaptor->search($options['class'], $term, $options['page_size'], $options['page_offset']); }