You are here

public function Urls::addFieldValues in Search API Field Map 8.2

Same name and namespace in other branches
  1. 8.3 src/Plugin/search_api/processor/Urls.php \Drupal\search_api_field_map\Plugin\search_api\processor\Urls::addFieldValues()
  2. 8 src/Plugin/search_api/processor/Urls.php \Drupal\search_api_field_map\Plugin\search_api\processor\Urls::addFieldValues()
  3. 4.x src/Plugin/search_api/processor/Urls.php \Drupal\search_api_field_map\Plugin\search_api\processor\Urls::addFieldValues()

Adds the values of properties defined by this processor to the item.

Parameters

\Drupal\search_api\Item\ItemInterface $item: The item whose field values should be added.

Overrides ProcessorPluginBase::addFieldValues

File

src/Plugin/search_api/processor/Urls.php, line 50

Class

Urls
Adds the Urls to the indexed data.

Namespace

Drupal\search_api_field_map\Plugin\search_api\processor

Code

public function addFieldValues(ItemInterface $item) {
  $url = $item
    ->getDatasource()
    ->getItemUrl($item
    ->getOriginalObject());
  if ($url) {
    $fields = $this
      ->getFieldsHelper()
      ->filterForPropertyPath($item
      ->getFields(), NULL, 'search_api_urls');
    foreach ($fields as $field) {
      $url = $url
        ->setAbsolute()
        ->toString();
      $field
        ->addValue($url);
    }
  }
}