function ArgumentPluginBase::getPlugin

Same name and namespace in other branches
  1. 9 core/modules/views/src/Plugin/views/argument/ArgumentPluginBase.php \Drupal\views\Plugin\views\argument\ArgumentPluginBase::getPlugin()
  2. 8.9.x core/modules/views/src/Plugin/views/argument/ArgumentPluginBase.php \Drupal\views\Plugin\views\argument\ArgumentPluginBase::getPlugin()
  3. 10 core/modules/views/src/Plugin/views/argument/ArgumentPluginBase.php \Drupal\views\Plugin\views\argument\ArgumentPluginBase::getPlugin()

Get the display or row plugin, if it exists.

13 calls to ArgumentPluginBase::getPlugin()
ArgumentPluginBase::adminSummary in core/modules/views/src/Plugin/views/argument/ArgumentPluginBase.php
Provide text for the administrative summary.
ArgumentPluginBase::buildOptionsForm in core/modules/views/src/Plugin/views/argument/ArgumentPluginBase.php
Provide a form to edit options for this plugin.
ArgumentPluginBase::calculateDependencies in core/modules/views/src/Plugin/views/argument/ArgumentPluginBase.php
Calculates dependencies for the configured plugin.
ArgumentPluginBase::defaultArgumentForm in core/modules/views/src/Plugin/views/argument/ArgumentPluginBase.php
Provides a form for selecting the default argument.
ArgumentPluginBase::defaultSummaryForm in core/modules/views/src/Plugin/views/argument/ArgumentPluginBase.php
Provides a form for selecting summary options.

... See full list

File

core/modules/views/src/Plugin/views/argument/ArgumentPluginBase.php, line 1148

Class

ArgumentPluginBase
Base class for argument (contextual filter) handler plugins.

Namespace

Drupal\views\Plugin\views\argument

Code

public function getPlugin($type = 'argument_default', $name = NULL) {
    $options = [];
    $plugin_name = match ($type) {    'argument_default' => $this->options['default_argument_type'] ?? NULL,
        'argument_validator' => $this->options['validate']['type'] ?? NULL,
        'style' => $this->options['summary']['format'] ?? NULL,
    
    };
    if ($plugin_name === NULL) {
        return NULL;
    }
    $options_name = match ($type) {    'argument_default' => 'default_argument_options',
        'argument_validator' => 'validate_options',
        'style' => 'summary_options',
    
    };
    if (!$name) {
        $name = $plugin_name;
    }
    // we only fetch the options if we're fetching the plugin actually
    // in use.
    if ($name == $plugin_name) {
        $options = $this->options[$options_name] ?? [];
    }
    $plugin = Views::pluginManager($type)->createInstance($name);
    if ($plugin) {
        $plugin->init($this->view, $this->displayHandler, $options);
        if ($type !== 'style') {
            // It's an argument_default/argument_validate plugin, so set the argument.
            $plugin->setArgument($this);
        }
        return $plugin;
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.