You are here

class SearchApiEntity in Search API 8

Handles the display of entity reference fields in Search API Views.

Plugin annotation

@ViewsField("search_api_entity");

Hierarchy

Expanded class hierarchy of SearchApiEntity

File

src/Plugin/views/field/SearchApiEntity.php, line 21

Namespace

Drupal\search_api\Plugin\views\field
View source
class SearchApiEntity extends SearchApiStandard {
  use FieldAPIHandlerTrait;

  /**
   * The entity display repository manager.
   *
   * @var \Drupal\Core\Entity\EntityDisplayRepositoryInterface|null
   */
  protected $entityDisplayRepository;

  /**
   * The entity type bundle info.
   *
   * @var \Drupal\Core\Entity\EntityTypeBundleInfo|null
   */
  protected $entityTypeBundleInfo;

  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {

    /** @var static $field */
    $field = parent::create($container, $configuration, $plugin_id, $plugin_definition);
    $field
      ->setEntityDisplayRepository($container
      ->get('entity_display.repository'));
    $field
      ->setEntityTypeBundleInfo($container
      ->get('entity_type.bundle.info'));
    return $field;
  }

  /**
   * Retrieves the entity display repository.
   *
   * @return \Drupal\Core\Entity\EntityDisplayRepositoryInterface
   *   The entity entity display repository.
   */
  public function getEntityDisplayRepository() {
    return $this->entityDisplayRepository ?: \Drupal::service('entity_display.repository');
  }

  /**
   * Sets the entity display repository.
   *
   * @param \Drupal\Core\Entity\EntityDisplayRepositoryInterface $entity_display_repository
   *   The new entity display repository.
   *
   * @return $this
   */
  public function setEntityDisplayRepository(EntityDisplayRepositoryInterface $entity_display_repository) {
    $this->entityDisplayRepository = $entity_display_repository;
    return $this;
  }

  /**
   * Retrieves the entity type bundle info.
   *
   * @return \Drupal\Core\Entity\EntityTypeBundleInfo
   *   The entity type bundle info.
   */
  public function getEntityTypeBundleInfo() {
    return $this->entityTypeBundleInfo ?: \Drupal::service('entity_type.bundle.info');
  }

  /**
   * Sets the entity type bundle info.
   *
   * @param \Drupal\Core\Entity\EntityTypeBundleInfo $entity_type_bundle_info
   *   The new entity type bundle info.
   *
   * @return $this
   */
  public function setEntityTypeBundleInfo(EntityTypeBundleInfo $entity_type_bundle_info) {
    $this->entityTypeBundleInfo = $entity_type_bundle_info;
    return $this;
  }

  /**
   * {@inheritdoc}
   */
  public function defineOptions() {
    $options = parent::defineOptions();
    $options['display_methods'] = [
      'default' => [],
    ];
    return $options;
  }

  /**
   * {@inheritdoc}
   */
  public function buildOptionsForm(&$form, FormStateInterface $form_state) {
    parent::buildOptionsForm($form, $form_state);
    $entity_type_id = $this
      ->getTargetEntityTypeId();
    $view_modes = [];
    $bundles = [];
    if ($entity_type_id) {
      $bundles = $this
        ->getEntityTypeBundleInfo()
        ->getBundleInfo($entity_type_id);

      // In case the field definition specifies the bundles to expect, restrict
      // the displayed bundles to those.
      $settings = $this
        ->getFieldDefinition()
        ->getSettings();
      if (!empty($settings['handler_settings']['target_bundles'])) {
        $bundles = array_intersect_key($bundles, $settings['handler_settings']['target_bundles']);
      }
      foreach ($bundles as $bundle => $info) {
        $view_modes[$bundle] = $this
          ->getEntityDisplayRepository()
          ->getViewModeOptionsByBundle($entity_type_id, $bundle);
      }
    }
    foreach ($bundles as $bundle => $info) {
      $args['@bundle'] = $info['label'];
      $form['display_methods'][$bundle]['display_method'] = [
        '#type' => 'select',
        '#title' => $this
          ->t('Display for "@bundle" bundle', $args),
        '#options' => [
          '' => $this
            ->t('Hide'),
          'id' => $this
            ->t('Raw ID'),
          'label' => $this
            ->t('Only label'),
        ],
        '#default_value' => 'label',
      ];
      $display_method = $this
        ->getDisplayMethod($bundle);
      if ($display_method !== NULL) {
        $form['display_methods'][$bundle]['display_method']['#default_value'] = $display_method;
      }
      if (!empty($view_modes[$bundle])) {
        $form['display_methods'][$bundle]['display_method']['#options']['view_mode'] = $this
          ->t('Entity view');
        if (count($view_modes[$bundle]) > 1) {
          $form['display_methods'][$bundle]['view_mode'] = [
            '#type' => 'select',
            '#title' => $this
              ->t('View mode for "@bundle" bundle', $args),
            '#options' => $view_modes[$bundle],
            '#states' => [
              'visible' => [
                ':input[name="options[display_methods][' . $bundle . '][display_method]"]' => [
                  'value' => 'view_mode',
                ],
              ],
            ],
          ];
          if (isset($this->options['display_methods'][$bundle]['view_mode'])) {
            $form['display_methods'][$bundle]['view_mode']['#default_value'] = $this->options['display_methods'][$bundle]['view_mode'];
          }
        }
        else {
          reset($view_modes[$bundle]);
          $form['display_methods'][$bundle]['view_mode'] = [
            '#type' => 'value',
            '#value' => key($view_modes[$bundle]),
          ];
        }
      }
      if (count($bundles) == 1) {
        $form['display_methods'][$bundle]['display_method']['#title'] = $this
          ->t('Display method');
        if (!empty($form['display_methods'][$bundle]['view_mode'])) {
          $form['display_methods'][$bundle]['view_mode']['#title'] = $this
            ->t('View mode');
        }
      }
    }
    $form['link_to_item']['#description'] .= ' ' . $this
      ->t('This will only take effect for entities for which only the entity label is displayed.');
    $form['link_to_item']['#weight'] = 5;
    unset($form['use_highlighting']);
  }

  /**
   * Return the entity type ID of the entity this field handler should display.
   *
   * @return string|null
   *   The entity type ID, or NULL if it couldn't be found.
   */
  public function getTargetEntityTypeId() {
    $field_definition = $this
      ->getFieldDefinition();
    if ($field_definition
      ->getType() === 'field_item:comment') {
      return 'comment';
    }
    return $field_definition
      ->getSetting('target_type');
  }

  /**
   * {@inheritdoc}
   */
  public function query() {
    $this
      ->addRetrievedProperty($this
      ->getCombinedPropertyPath());
  }

  /**
   * {@inheritdoc}
   */
  public function preRender(&$values) {
    parent::preRender($values);

    // The parent method will just have loaded the entity IDs. We now multi-load
    // the actual objects.
    $property_path = $this
      ->getCombinedPropertyPath();
    foreach ($values as $i => $row) {
      if (!empty($row->{$property_path})) {
        foreach ((array) $row->{$property_path} as $j => $value) {
          if (is_scalar($value)) {
            $to_load[$value][] = [
              $i,
              $j,
            ];
          }
        }
      }
    }
    if (empty($to_load)) {
      return;
    }
    $entities = $this
      ->getEntityTypeManager()
      ->getStorage($this
      ->getTargetEntityTypeId())
      ->loadMultiple(array_keys($to_load));
    $account = $this
      ->getQuery()
      ->getAccessAccount();
    foreach ($entities as $id => $entity) {
      $bundle = $entity
        ->bundle();
      $operation = $this
        ->getDisplayMethod($bundle) == 'label' ? 'view label' : 'view';
      if ($entity
        ->access($operation, $account)) {
        foreach ($to_load[$id] as list($i, $j)) {
          if ($entity
            ->access('view', $account)) {
            $langcode = $values[$i]->search_api_language;
            if ($entity instanceof TranslatableInterface && $entity
              ->hasTranslation($langcode)) {
              $entity = $entity
                ->getTranslation($langcode);
            }
            $values[$i]->{$property_path}[$j] = $entity;
          }
        }
      }
    }
  }

  /**
   * {@inheritdoc}
   */
  public function render_item($count, $item) {
    if (is_array($item['value'])) {
      return $this
        ->getRenderer()
        ->render($item['value']);
    }
    return parent::render_item($count, $item);
  }

  /**
   * {@inheritdoc}
   */
  public function getItems(ResultRow $values) {
    $property_path = $this
      ->getCombinedPropertyPath();
    if (!empty($values->{$property_path})) {
      $items = [];
      foreach ((array) $values->{$property_path} as $value) {
        if ($value instanceof EntityInterface) {
          $item = $this
            ->getItem($value);
          if ($item) {
            $items[] = $item;
          }
        }
      }
      return $items;
    }
    return [];
  }

  /**
   * Creates an item for the given entity.
   *
   * @param \Drupal\Core\Entity\EntityInterface $entity
   *   The entity.
   *
   * @return array|null
   *   NULL if the entity should not be displayed. Otherwise, an associative
   *   array with at least "value" set, to either a string or a render array,
   *   and possibly also additional alter options.
   *
   * @throws \Drupal\Core\Entity\EntityMalformedException
   *   Thrown if the entity is malformed and a URL needs to be generated.
   */
  protected function getItem(EntityInterface $entity) {
    $bundle = $entity
      ->bundle();
    $display_method = $this
      ->getDisplayMethod($bundle);
    if (!$display_method) {
      return NULL;
    }
    if (in_array($display_method, [
      'id',
      'label',
    ])) {
      if ($display_method == 'label') {
        $item['value'] = $entity
          ->label();
      }
      else {
        $item['value'] = $entity
          ->id();
      }
      if ($this->options['link_to_item']) {
        $item['make_link'] = TRUE;
        $item['url'] = $entity
          ->toUrl('canonical');
      }
      return $item;
    }
    $view_mode = $this->options['display_methods'][$bundle]['view_mode'];
    $build = $this
      ->getEntityTypeManager()
      ->getViewBuilder($entity
      ->getEntityTypeId())
      ->view($entity, $view_mode);
    return [
      'value' => $build,
    ];
  }

  /**
   * Retrieves the display method configured for a certain bundle.
   *
   * @param string $bundle
   *   The bundle of the entity being displayed.
   *
   * @return string|null
   *   The "display_method" option selected for this bundle, or NULL if none was
   *   selected yet.
   */
  protected function getDisplayMethod($bundle) {
    return $this->options['display_methods'][$bundle]['display_method'] ?? NULL;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
FieldAPIHandlerTrait::$entityFieldManager protected property The entity field manager.
FieldAPIHandlerTrait::$fieldDefinition protected property The field definition.
FieldAPIHandlerTrait::$fieldStorageDefinition protected property The field storage definition.
FieldAPIHandlerTrait::getEntityFieldManager protected function Returns the entity field manager.
FieldAPIHandlerTrait::getEntityManager Deprecated protected function Returns the entity manager.
FieldAPIHandlerTrait::getFieldDefinition protected function Gets the field definition.
FieldAPIHandlerTrait::getFieldStorageDefinition protected function Gets the field storage configuration. 1
FieldPluginBase::$additional_fields public property Stores additional fields which get added to the query.
FieldPluginBase::$aliases public property
FieldPluginBase::$field_alias public property
FieldPluginBase::$lastRenderIndex protected property Keeps track of the last render index.
FieldPluginBase::$linkGenerator protected property The link generator.
FieldPluginBase::$original_value public property The field value prior to any rewriting.
FieldPluginBase::$renderer protected property Stores the render API renderer. Overrides PluginBase::$renderer 1
FieldPluginBase::addAdditionalFields protected function Add 'additional' fields to the query.
FieldPluginBase::addSelfTokens protected function Add any special tokens this field might use for itself. 4
FieldPluginBase::adminLabel public function Return a string representing this handler's name in the UI. Overrides HandlerBase::adminLabel
FieldPluginBase::adminSummary public function Provide extra data to the administration form Overrides HandlerBase::adminSummary
FieldPluginBase::advancedRender public function Renders a field using advanced settings. Overrides FieldHandlerInterface::advancedRender
FieldPluginBase::allowAdvancedRender protected function Determine if this field can allow advanced rendering.
FieldPluginBase::documentSelfTokens protected function Document any special tokens this field might use for itself. 3
FieldPluginBase::elementClasses public function Returns the class of the field. Overrides FieldHandlerInterface::elementClasses
FieldPluginBase::elementLabelClasses public function Returns the class of the field's label. Overrides FieldHandlerInterface::elementLabelClasses
FieldPluginBase::elementLabelType public function Returns an HTML element for the label based upon the field's element type. Overrides FieldHandlerInterface::elementLabelType
FieldPluginBase::elementType public function Returns an HTML element based upon the field's element type. Overrides FieldHandlerInterface::elementType 1
FieldPluginBase::elementWrapperClasses public function Returns the class of the field's wrapper. Overrides FieldHandlerInterface::elementWrapperClasses
FieldPluginBase::elementWrapperType public function Returns an HTML element for the wrapper based upon the field's element type. Overrides FieldHandlerInterface::elementWrapperType
FieldPluginBase::getElements public function Provides a list of elements valid for field HTML. Overrides FieldHandlerInterface::getElements
FieldPluginBase::getFieldTokenPlaceholder protected function Returns a token placeholder for the current field.
FieldPluginBase::getPreviousFieldLabels protected function Returns all field labels of fields before this field.
FieldPluginBase::getRenderTokens public function Gets the 'render' tokens to use for advanced rendering. Overrides FieldHandlerInterface::getRenderTokens
FieldPluginBase::getTokenValuesRecursive protected function Recursive function to add replacements for nested query string parameters.
FieldPluginBase::init public function Initialize the plugin. Overrides HandlerBase::init 14
FieldPluginBase::isValueEmpty public function Checks if a field value is empty. Overrides FieldHandlerInterface::isValueEmpty
FieldPluginBase::label public function Gets this field's label. Overrides FieldHandlerInterface::label
FieldPluginBase::linkGenerator protected function Gets the link generator.
FieldPluginBase::postRender public function Runs after every field has been rendered. Overrides FieldHandlerInterface::postRender
FieldPluginBase::render public function Renders the field. Overrides FieldHandlerInterface::render 27
FieldPluginBase::renderAltered protected function Render this field as user-defined altered text.
FieldPluginBase::renderAsLink protected function Render this field as a link, with the info from a fieldset set by the user.
FieldPluginBase::renderText public function Performs an advanced text render for the item. Overrides FieldHandlerInterface::renderText
FieldPluginBase::renderTrimText protected function Trims the field down to the specified length.
FieldPluginBase::RENDER_TEXT_PHASE_COMPLETELY constant Indicator of the renderText() method for rendering the whole element. (if no render_item() method is available).
FieldPluginBase::RENDER_TEXT_PHASE_EMPTY constant Indicator of the renderText() method for rendering the empty text.
FieldPluginBase::RENDER_TEXT_PHASE_SINGLE_ITEM constant Indicator of the renderText() method for rendering a single item. (If no render_item() is present).
FieldPluginBase::submitOptionsForm public function Performs some cleanup tasks on the options array before saving it. Overrides PluginBase::submitOptionsForm 1
FieldPluginBase::theme public function Passes values to drupal_render() using $this->themeFunctions() as #theme. Overrides FieldHandlerInterface::theme
FieldPluginBase::themeFunctions public function Provide a full list of possible theme templates used by this style. Overrides PluginBase::themeFunctions
FieldPluginBase::tokenizeValue public function Replaces a value with tokens from the last field. Overrides FieldHandlerInterface::tokenizeValue
FieldPluginBase::trimText public static function Trims the field down to the specified length.
FieldPluginBase::useStringGroupBy public function Determines if this field will be available as an option to group the result by in the style settings. Overrides FieldHandlerInterface::useStringGroupBy
HandlerBase::$field public property With field you can override the realField if the real field is not set.
HandlerBase::$moduleHandler protected property The module handler. 3
HandlerBase::$query public property Where the $query object will reside: 7
HandlerBase::$realField public property The actual field in the database table, maybe different on other kind of query plugins/special handlers.
HandlerBase::$relationship public property The relationship used for this field.
HandlerBase::$table public property The table this handler is attached to.
HandlerBase::$tableAlias public property The alias of the table of this handler which is used in the query.
HandlerBase::$viewsData protected property The views data service.
HandlerBase::acceptExposedInput public function Take input from exposed handlers and assign to this handler, if necessary. 1
HandlerBase::access public function Check whether given user has access to this handler. Overrides ViewsHandlerInterface::access 4
HandlerBase::breakString public static function Breaks x,y,z and x+y+z into an array. Overrides ViewsHandlerInterface::breakString
HandlerBase::broken public function Determines if the handler is considered 'broken', meaning it's a placeholder used when a handler can't be found. Overrides ViewsHandlerInterface::broken
HandlerBase::buildExposedForm public function Render our chunk of the exposed handler form when selecting 1
HandlerBase::buildExposeForm public function Form for exposed handler options. 2
HandlerBase::buildExtraOptionsForm public function Provide a form for setting options. 1
HandlerBase::buildGroupByForm public function Provide a form for aggregation settings. 1
HandlerBase::calculateDependencies public function Calculates dependencies for the configured plugin. Overrides PluginBase::calculateDependencies 10
HandlerBase::canExpose public function Determine if a handler can be exposed. 2
HandlerBase::caseTransform protected function Transform a string by a certain method.
HandlerBase::defaultExposeOptions public function Set new exposed option defaults when exposed setting is flipped on. 2
HandlerBase::defineExtraOptions public function Provide defaults for the handler.
HandlerBase::displayExposedForm public function Displays the Expose form.
HandlerBase::exposedInfo public function Get information about the exposed form for the form renderer. 1
HandlerBase::getDateField public function Creates cross-database SQL dates. 2
HandlerBase::getDateFormat public function Creates cross-database SQL date formatting. 2
HandlerBase::getField public function Shortcut to get a handler's raw field value. Overrides ViewsHandlerInterface::getField
HandlerBase::getJoin public function Get the join object that should be used for this handler. Overrides ViewsHandlerInterface::getJoin
HandlerBase::getModuleHandler protected function Gets the module handler.
HandlerBase::getTableJoin public static function Fetches a handler to join one table to a primary table from the data cache. Overrides ViewsHandlerInterface::getTableJoin
HandlerBase::getViewsData protected function Gets views data service.
HandlerBase::hasExtraOptions public function If a handler has 'extra options' it will get a little settings widget and another form called extra_options. 1
HandlerBase::isAGroup public function Returns TRUE if the exposed filter works like a grouped filter. 1
HandlerBase::isExposed public function Determine if this item is 'exposed', meaning it provides form elements to let users modify the view.
HandlerBase::multipleExposedInput public function Define if the exposed input has to be submitted multiple times. This is TRUE when exposed filters grouped are using checkboxes as widgets. 1
HandlerBase::placeholder protected function Provides a unique placeholders for handlers.
HandlerBase::postExecute public function Run after the view is executed, before the result is cached. Overrides ViewsHandlerInterface::postExecute
HandlerBase::preQuery public function Run before the view is built. Overrides ViewsHandlerInterface::preQuery 2
HandlerBase::setModuleHandler public function Sets the module handler.
HandlerBase::setRelationship public function Called just prior to query(), this lets a handler set up any relationship it needs. Overrides ViewsHandlerInterface::setRelationship
HandlerBase::setViewsData public function
HandlerBase::showExposeButton public function Shortcut to display the expose/hide button. 2
HandlerBase::showExposeForm public function Shortcut to display the exposed options form. Overrides ViewsHandlerInterface::showExposeForm
HandlerBase::storeExposedInput public function If set to remember exposed input in the session, store it there. 1
HandlerBase::submitExposed public function Submit the exposed handler form
HandlerBase::submitExposeForm public function Perform any necessary changes to the form exposes prior to storage. There is no need for this function to actually store the data.
HandlerBase::submitExtraOptionsForm public function Perform any necessary changes to the form values prior to storage. There is no need for this function to actually store the data.
HandlerBase::submitFormCalculateOptions public function Calculates options stored on the handler 1
HandlerBase::submitGroupByForm public function Perform any necessary changes to the form values prior to storage. There is no need for this function to actually store the data. 1
HandlerBase::submitTemporaryForm public function A submit handler that is used for storing temporary items when using multi-step changes, such as ajax requests.
HandlerBase::usesGroupBy public function Provides the handler some groupby. 13
HandlerBase::validate public function Validate that the plugin is correct and can be saved. Overrides PluginBase::validate 2
HandlerBase::validateExposed public function Validate the exposed handler form 4
HandlerBase::validateExposeForm public function Validate the options form. 1
HandlerBase::validateExtraOptionsForm public function Validate the options form.
HandlerBase::__construct public function Constructs a Handler object. Overrides PluginBase::__construct 44
LoggerTrait::$logger protected property The logging channel to use.
LoggerTrait::getLogger public function Retrieves the logger.
LoggerTrait::logException protected function Logs an exception.
LoggerTrait::setLogger public function Sets the logger.
MessengerTrait::$messenger protected property The messenger. 29
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$definition public property Plugins's definition
PluginBase::$displayHandler public property The display object this plugin is for.
PluginBase::$options public property Options for this plugin will be held here.
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::$usesOptions protected property Denotes whether the plugin has an additional options form. 8
PluginBase::$view public property The top object of a view. 1
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::destroy public function Clears a plugin. Overrides ViewsPluginInterface::destroy 2
PluginBase::doFilterByDefinedOptions protected function Do the work to filter out stored options depending on the defined options.
PluginBase::filterByDefinedOptions public function Filter out stored options depending on the defined options. Overrides ViewsPluginInterface::filterByDefinedOptions
PluginBase::getAvailableGlobalTokens public function Returns an array of available token replacements. Overrides ViewsPluginInterface::getAvailableGlobalTokens
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::getProvider public function Returns the plugin provider. Overrides ViewsPluginInterface::getProvider
PluginBase::globalTokenForm public function Adds elements for available core tokens to a form. Overrides ViewsPluginInterface::globalTokenForm
PluginBase::globalTokenReplace public function Returns a string with any core tokens replaced. Overrides ViewsPluginInterface::globalTokenReplace
PluginBase::INCLUDE_ENTITY constant Include entity row languages when listing languages.
PluginBase::INCLUDE_NEGOTIATED constant Include negotiated languages when listing languages.
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginBase::listLanguages protected function Makes an array of languages, optionally including special languages.
PluginBase::pluginTitle public function Return the human readable name of the display. Overrides ViewsPluginInterface::pluginTitle
PluginBase::preRenderAddFieldsetMarkup public static function Moves form elements into fieldsets for presentation purposes. Overrides ViewsPluginInterface::preRenderAddFieldsetMarkup
PluginBase::preRenderFlattenData public static function Flattens the structure of form elements. Overrides ViewsPluginInterface::preRenderFlattenData
PluginBase::queryLanguageSubstitutions public static function Returns substitutions for Views queries for languages.
PluginBase::setOptionDefaults protected function Fills up the options of the plugin with defaults.
PluginBase::summaryTitle public function Returns the summary of the settings in the display. Overrides ViewsPluginInterface::summaryTitle 6
PluginBase::trustedCallbacks public static function Lists the trusted callbacks provided by the implementing class. Overrides TrustedCallbackInterface::trustedCallbacks 6
PluginBase::unpackOptions public function Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away. Overrides ViewsPluginInterface::unpackOptions
PluginBase::usesOptions public function Returns the usesOptions property. Overrides ViewsPluginInterface::usesOptions 8
PluginBase::validateOptionsForm public function Validate the options form. Overrides ViewsPluginInterface::validateOptionsForm 15
PluginBase::viewsTokenReplace protected function Replaces Views' tokens in a given string. The resulting string will be sanitized with Xss::filterAdmin. 1
PluginBase::VIEWS_QUERY_LANGUAGE_SITE_DEFAULT constant Query string to indicate the site default language.
SearchApiEntity::$entityDisplayRepository protected property The entity display repository manager.
SearchApiEntity::$entityTypeBundleInfo protected property The entity type bundle info.
SearchApiEntity::buildOptionsForm public function Provide a form to edit options for this plugin. Overrides SearchApiFieldTrait::buildOptionsForm
SearchApiEntity::create public static function Creates an instance of the plugin. Overrides PluginBase::create
SearchApiEntity::defineOptions public function Defines the options used by this plugin. Overrides SearchApiFieldTrait::defineOptions
SearchApiEntity::getDisplayMethod protected function Retrieves the display method configured for a certain bundle.
SearchApiEntity::getEntityDisplayRepository public function Retrieves the entity display repository.
SearchApiEntity::getEntityTypeBundleInfo public function Retrieves the entity type bundle info.
SearchApiEntity::getItem protected function Creates an item for the given entity.
SearchApiEntity::getItems public function Gets an array of items for the field. Overrides SearchApiFieldTrait::getItems
SearchApiEntity::getTargetEntityTypeId public function Return the entity type ID of the entity this field handler should display.
SearchApiEntity::preRender public function Runs before any fields are rendered. Overrides SearchApiFieldTrait::preRender
SearchApiEntity::query public function Add anything to the query that we might need to. Overrides SearchApiFieldTrait::query
SearchApiEntity::render_item public function Renders a single item of a row. Overrides SearchApiStandard::render_item
SearchApiEntity::setEntityDisplayRepository public function Sets the entity display repository.
SearchApiEntity::setEntityTypeBundleInfo public function Sets the entity type bundle info.
SearchApiFieldTrait::$accessAccount protected property The account to use for access checks for this search.
SearchApiFieldTrait::$combinedPropertyPath protected property The combined property path of this field.
SearchApiFieldTrait::$datasourceId protected property The datasource ID of this field, if any.
SearchApiFieldTrait::$entityTypeManager protected property The entity type manager.
SearchApiFieldTrait::$fieldsHelper protected property The fields helper.
SearchApiFieldTrait::$overriddenValues protected property Contains overridden values to be returned on the next getValue() call.
SearchApiFieldTrait::$propertyReplacements protected property Array of replacement property paths to use when getting field values.
SearchApiFieldTrait::$retrievedProperties protected property Contains the properties needed by this field handler.
SearchApiFieldTrait::$skipAccessChecks protected property Associative array keyed by property paths for which to skip access checks.
SearchApiFieldTrait::$typedDataManager protected property The typed data manager.
SearchApiFieldTrait::$valueIndex protected property Index in the current row's field values that is currently displayed.
SearchApiFieldTrait::addRetrievedProperty protected function Adds a property to be retrieved.
SearchApiFieldTrait::checkEntityAccess protected function Checks whether the searching user has access to the given value.
SearchApiFieldTrait::checkHighlighting protected function Replaces extracted property values with highlighted field values.
SearchApiFieldTrait::clickSort public function Adds an ORDER BY clause to the query for click sort columns.
SearchApiFieldTrait::clickSortable public function Determines if this field is click sortable.
SearchApiFieldTrait::combineHighlightedValues protected function Combines raw field values with highlighted ones to get a complete set.
SearchApiFieldTrait::createCombinedPropertyPath protected function Creates a combined property path.
SearchApiFieldTrait::expandRequiredProperties protected function Expands the properties to retrieve for this field.
SearchApiFieldTrait::extractProcessorProperty protected function Extracts a processor-based property from an item.
SearchApiFieldTrait::extractPropertyValues protected function Places extracted property values and objects into the result row.
SearchApiFieldTrait::getCombinedPropertyPath public function Retrieves the combined property path of this field.
SearchApiFieldTrait::getDatasourceId public function Retrieves the ID of the datasource to which this field belongs.
SearchApiFieldTrait::getEntity public function Gets the entity matching the current row and relationship. 1
SearchApiFieldTrait::getEntityTypeManager public function Retrieves the entity type manager.
SearchApiFieldTrait::getFieldsHelper public function Retrieves the fields helper.
SearchApiFieldTrait::getItemUrl protected function Retrieves an alter options array for linking the given value to its item.
SearchApiFieldTrait::getRenderer abstract protected function Returns the Render API renderer.
SearchApiFieldTrait::getTypedDataManager public function Retrieves the typed data manager.
SearchApiFieldTrait::getValue public function Retrieves the value that's supposed to be rendered.
SearchApiFieldTrait::getValuesToExtract protected function Determines and prepares the property values that need to be extracted.
SearchApiFieldTrait::isActiveForRow protected function Determines whether this field is active for the given row. 1
SearchApiFieldTrait::isMultiple public function Determines whether this field can have multiple values.
SearchApiFieldTrait::preLoadResultItems protected function Pre-loads the result objects, where necessary.
SearchApiFieldTrait::renderItems public function Renders all items in this field together. 1
SearchApiFieldTrait::sanitizeValue public function Sanitizes the value for output.
SearchApiFieldTrait::setEntityTypeManager public function Sets the entity type manager.
SearchApiFieldTrait::setFieldsHelper public function Sets the fields helper.
SearchApiFieldTrait::setTypedDataManager public function Sets the typed data manager.
SearchApiHandlerTrait::ensureMyTable public function Overrides the Views handlers' ensureMyTable() method.
SearchApiHandlerTrait::getEntityType public function Determines the entity type used by this handler. 1
SearchApiHandlerTrait::getIndex protected function Returns the active search index.
SearchApiHandlerTrait::getQuery public function Retrieves the query plugin.
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
TrustedCallbackInterface::THROW_EXCEPTION constant Untrusted callbacks throw exceptions.
TrustedCallbackInterface::TRIGGER_SILENCED_DEPRECATION constant Untrusted callbacks trigger silenced E_USER_DEPRECATION errors.
TrustedCallbackInterface::TRIGGER_WARNING constant Untrusted callbacks trigger E_USER_WARNING errors.