You are here

public function TaxonomyIndexTid::init in Drupal 10

Same name in this branch
  1. 10 core/modules/taxonomy/src/Plugin/views/filter/TaxonomyIndexTid.php \Drupal\taxonomy\Plugin\views\filter\TaxonomyIndexTid::init()
  2. 10 core/modules/taxonomy/src/Plugin/views/field/TaxonomyIndexTid.php \Drupal\taxonomy\Plugin\views\field\TaxonomyIndexTid::init()
Same name and namespace in other branches
  1. 8 core/modules/taxonomy/src/Plugin/views/field/TaxonomyIndexTid.php \Drupal\taxonomy\Plugin\views\field\TaxonomyIndexTid::init()
  2. 9 core/modules/taxonomy/src/Plugin/views/field/TaxonomyIndexTid.php \Drupal\taxonomy\Plugin\views\field\TaxonomyIndexTid::init()

Initialize the plugin.

Parameters

\Drupal\views\ViewExecutable $view: The view object.

\Drupal\views\Plugin\views\display\DisplayPluginBase $display: The display handler.

array $options: The options configured for this plugin.

Overrides ViewsPluginInterface::init

File

core/modules/taxonomy/src/Plugin/views/field/TaxonomyIndexTid.php, line 60

Class

TaxonomyIndexTid
Field handler to display all taxonomy terms of a node.

Namespace

Drupal\taxonomy\Plugin\views\field

Code

public function init(ViewExecutable $view, DisplayPluginBase $display, array &$options = NULL) {
  parent::init($view, $display, $options);

  // @todo: Wouldn't it be possible to use $this->base_table and no if here?
  if ($view->storage
    ->get('base_table') == 'node_field_revision') {
    $this->additional_fields['nid'] = [
      'table' => 'node_field_revision',
      'field' => 'nid',
    ];
  }
  else {
    $this->additional_fields['nid'] = [
      'table' => 'node_field_data',
      'field' => 'nid',
    ];
  }
}