public function Score::query

Same name in this branch

Called to add the field to a query.

Overrides FieldPluginBase::query

File

drupal/core/modules/search/lib/Drupal/search/Plugin/views/field/Score.php, line 62
Definition of Drupal\search\Plugin\views\field\Score.

Class

Score
Field handler to provide simple renderer that allows linking to a node.

Namespace

Drupal\search\Plugin\views\field

Code

public function query() {

  // Check to see if the search filter added 'score' to the table.
  // Our filter stores it as $handler->search_score -- and we also
  // need to check its relationship to make sure that we're using the same
  // one or obviously this won't work.
  foreach ($this->view->filter as $handler) {
    if (isset($handler->search_score) && $handler->relationship == $this->relationship) {
      $this->field_alias = $handler->search_score;
      $this->tableAlias = $handler->tableAlias;
      return;
    }
  }

  // Hide this field if no search filter is in place.
  $this->options['exclude'] = TRUE;
  if (!empty($this->options['alternate_sort'])) {
    if (isset($this->view->style_plugin->options['default']) && $this->view->style_plugin->options['default'] == $this->options['id']) {

      // Since the style handler initiates fields, we plug these values right into the active handler.
      $this->view->style_plugin->options['default'] = $this->options['alternate_sort'];
      $this->view->style_plugin->options['order'] = $this->options['alternate_order'];
    }
  }
}