class Tid
Taxonomy tid default argument.
Plugin annotation
@ViewsArgumentDefault(
  id = "taxonomy_tid",
  title = @Translation("Taxonomy term ID from URL")
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface- class \Drupal\Core\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait extends \Drupal\Component\Plugin\PluginBase- class \Drupal\views\Plugin\views\PluginBase implements \Drupal\Core\Plugin\ContainerFactoryPluginInterface, \Drupal\views\Plugin\views\ViewsPluginInterface, \Drupal\Component\Plugin\DependentPluginInterface, \Drupal\Core\Security\TrustedCallbackInterface extends \Drupal\Core\Plugin\PluginBase- class \Drupal\views\Plugin\views\argument_default\ArgumentDefaultPluginBase extends \Drupal\views\Plugin\views\PluginBase- class \Drupal\taxonomy\Plugin\views\argument_default\Tid implements \Drupal\Core\Cache\CacheableDependencyInterface extends \Drupal\views\Plugin\views\argument_default\ArgumentDefaultPluginBase
 
 
- class \Drupal\views\Plugin\views\argument_default\ArgumentDefaultPluginBase extends \Drupal\views\Plugin\views\PluginBase
 
- class \Drupal\views\Plugin\views\PluginBase implements \Drupal\Core\Plugin\ContainerFactoryPluginInterface, \Drupal\views\Plugin\views\ViewsPluginInterface, \Drupal\Component\Plugin\DependentPluginInterface, \Drupal\Core\Security\TrustedCallbackInterface extends \Drupal\Core\Plugin\PluginBase
 
- class \Drupal\Core\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait extends \Drupal\Component\Plugin\PluginBase
Expanded class hierarchy of Tid
72 string references to 'Tid'
- AlterTest::testAlterChangeConditional in core/tests/ Drupal/ KernelTests/ Core/ Database/ AlterTest.php 
- Tests that we can alter a query's conditionals.
- AlterTest::testAlterWithJoin in core/tests/ Drupal/ KernelTests/ Core/ Database/ AlterTest.php 
- Tests that we can alter the joins on a query.
- ContentEntityTest::testTermSource in core/modules/ migrate_drupal/ tests/ src/ Kernel/ Plugin/ migrate/ source/ ContentEntityTest.php 
- Tests term source plugin.
- d6_taxonomy_term.yml in core/modules/ taxonomy/ migrations/ d6_taxonomy_term.yml 
- core/modules/taxonomy/migrations/d6_taxonomy_term.yml
- d6_taxonomy_term_localized_translation.yml in core/modules/ content_translation/ migrations/ d6_taxonomy_term_localized_translation.yml 
- core/modules/content_translation/migrations/d6_taxonomy_term_localized_translation.yml
File
- 
              core/modules/ taxonomy/ src/ Plugin/ views/ argument_default/ Tid.php, line 23 
Namespace
Drupal\taxonomy\Plugin\views\argument_defaultView source
class Tid extends ArgumentDefaultPluginBase implements CacheableDependencyInterface {
  
  /**
   * The route match.
   *
   * @var \Drupal\Core\Routing\RouteMatchInterface
   */
  protected $routeMatch;
  
  /**
   * The vocabulary storage.
   *
   * @var \Drupal\taxonomy\VocabularyStorageInterface
   */
  protected $vocabularyStorage;
  
  /**
   * Constructs a new Tid instance.
   *
   * @param array $configuration
   *   A configuration array containing information about the plugin instance.
   * @param string $plugin_id
   *   The plugin_id for the plugin instance.
   * @param mixed $plugin_definition
   *   The plugin implementation definition.   *
   * @param \Drupal\Core\Routing\RouteMatchInterface $route_match
   *   The route match.
   * @param \Drupal\taxonomy\VocabularyStorageInterface $vocabulary_storage
   *   The vocabulary storage.
   */
  public function __construct(array $configuration, $plugin_id, $plugin_definition, RouteMatchInterface $route_match, VocabularyStorageInterface $vocabulary_storage) {
    parent::__construct($configuration, $plugin_id, $plugin_definition);
    $this->routeMatch = $route_match;
    $this->vocabularyStorage = $vocabulary_storage;
  }
  
  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
    return new static($configuration, $plugin_id, $plugin_definition, $container->get('current_route_match'), $container->get('entity_type.manager')
      ->getStorage('taxonomy_vocabulary'));
  }
  
  /**
   * {@inheritdoc}
   */
  protected function defineOptions() {
    $options = parent::defineOptions();
    $options['term_page'] = [
      'default' => TRUE,
    ];
    $options['node'] = [
      'default' => FALSE,
    ];
    $options['anyall'] = [
      'default' => ',',
    ];
    $options['limit'] = [
      'default' => FALSE,
    ];
    $options['vids'] = [
      'default' => [],
    ];
    return $options;
  }
  
  /**
   * {@inheritdoc}
   */
  public function buildOptionsForm(&$form, FormStateInterface $form_state) {
    $form['term_page'] = [
      '#type' => 'checkbox',
      '#title' => $this->t('Load default filter from term page'),
      '#default_value' => $this->options['term_page'],
    ];
    $form['node'] = [
      '#type' => 'checkbox',
      '#title' => $this->t("Load default filter from node page, that's good for related taxonomy blocks"),
      '#default_value' => $this->options['node'],
    ];
    $form['limit'] = [
      '#type' => 'checkbox',
      '#title' => $this->t('Limit terms by vocabulary'),
      '#default_value' => $this->options['limit'],
      '#states' => [
        'visible' => [
          ':input[name="options[argument_default][taxonomy_tid][node]"]' => [
            'checked' => TRUE,
          ],
        ],
      ],
    ];
    $options = [];
    $vocabularies = $this->vocabularyStorage
      ->loadMultiple();
    foreach ($vocabularies as $voc) {
      $options[$voc->id()] = $voc->label();
    }
    $form['vids'] = [
      '#type' => 'checkboxes',
      '#title' => $this->t('Vocabularies'),
      '#options' => $options,
      '#default_value' => $this->options['vids'],
      '#states' => [
        'visible' => [
          ':input[name="options[argument_default][taxonomy_tid][limit]"]' => [
            'checked' => TRUE,
          ],
          ':input[name="options[argument_default][taxonomy_tid][node]"]' => [
            'checked' => TRUE,
          ],
        ],
      ],
    ];
    $form['anyall'] = [
      '#type' => 'radios',
      '#title' => $this->t('Multiple-value handling'),
      '#default_value' => $this->options['anyall'],
      '#options' => [
        ',' => $this->t('Filter to items that share all terms'),
        '+' => $this->t('Filter to items that share any term'),
      ],
      '#states' => [
        'visible' => [
          ':input[name="options[argument_default][taxonomy_tid][node]"]' => [
            'checked' => TRUE,
          ],
        ],
      ],
    ];
  }
  
  /**
   * {@inheritdoc}
   */
  public function submitOptionsForm(&$form, FormStateInterface $form_state, &$options = []) {
    // Filter unselected items so we don't unnecessarily store giant arrays.
    $options['vids'] = array_filter($options['vids']);
  }
  
  /**
   * {@inheritdoc}
   */
  public function getArgument() {
    // Load default argument from taxonomy page.
    if (!empty($this->options['term_page'])) {
      if (($taxonomy_term = $this->routeMatch
        ->getParameter('taxonomy_term')) && $taxonomy_term instanceof TermInterface) {
        return $taxonomy_term->id();
      }
    }
    // Load default argument from node.
    if (!empty($this->options['node'])) {
      // Just check, if a node could be detected.
      if (($node = $this->routeMatch
        ->getParameter('node')) && $node instanceof NodeInterface) {
        $taxonomy = [];
        foreach ($node->getFieldDefinitions() as $field) {
          if ($field->getType() == 'entity_reference' && $field->getSetting('target_type') == 'taxonomy_term') {
            $taxonomy_terms = $node->{$field->getName()}
              ->referencedEntities();
            /** @var \Drupal\taxonomy\TermInterface $taxonomy_term */
            foreach ($taxonomy_terms as $taxonomy_term) {
              $taxonomy[$taxonomy_term->id()] = $taxonomy_term->bundle();
            }
          }
        }
        if (!empty($this->options['limit'])) {
          $tids = [];
          // filter by vocabulary
          foreach ($taxonomy as $tid => $vocab) {
            if (!empty($this->options['vids'][$vocab])) {
              $tids[] = $tid;
            }
          }
          return implode($this->options['anyall'], $tids);
        }
        else {
          return implode($this->options['anyall'], array_keys($taxonomy));
        }
      }
    }
  }
  
  /**
   * {@inheritdoc}
   */
  public function getCacheMaxAge() {
    return Cache::PERMANENT;
  }
  
  /**
   * {@inheritdoc}
   */
  public function getCacheContexts() {
    return [
      'url',
    ];
  }
  
  /**
   * {@inheritdoc}
   */
  public function calculateDependencies() {
    $dependencies = parent::calculateDependencies();
    foreach ($this->vocabularyStorage
      ->loadMultiple(array_keys($this->options['vids'])) as $vocabulary) {
      $dependencies[$vocabulary->getConfigDependencyKey()][] = $vocabulary->getConfigDependencyName();
    }
    return $dependencies;
  }
}Members
| Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides | 
|---|---|---|---|---|---|
| ArgumentDefaultPluginBase::$argument | protected | property | The argument handler instance associated with this plugin. | ||
| ArgumentDefaultPluginBase::access | public | function | Determine if the administrator has the privileges to use this plugin. | ||
| ArgumentDefaultPluginBase::checkAccess | protected | function | Disables the given option if the user does not have access. | ||
| ArgumentDefaultPluginBase::getCacheTags | public | function | |||
| ArgumentDefaultPluginBase::setArgument | public | function | Sets the parent argument this plugin is associated with. | ||
| ArgumentDefaultPluginBase::validateOptionsForm | public | function | Provide the default form for validating options. | Overrides PluginBase::validateOptionsForm | |
| 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 | 2 | ||
| DependencySerializationTrait::__wakeup | public | function | #[\ReturnTypeWillChange] | 2 | |
| MessengerTrait::$messenger | protected | property | The messenger. | 27 | |
| MessengerTrait::messenger | public | function | Gets the messenger. | 27 | |
| MessengerTrait::setMessenger | public | function | Sets the messenger. | ||
| PluginBase::$configuration | protected | property | Configuration information passed into the plugin. | 1 | |
| PluginBase::$definition | public | property | Plugins' 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::$renderer | protected | property | Stores the render API renderer. | 3 | |
| 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 | 2 | 
| 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::getRenderer | protected | function | Returns the render API renderer. | 1 | |
| 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::init | public | function | Initialize the plugin. | Overrides ViewsPluginInterface::init | 6 | 
| 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::query | public | function | Add anything to the query that we might need to. | Overrides ViewsPluginInterface::query | 8 | 
| 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::themeFunctions | public | function | Provide a full list of possible theme templates used by this style. | Overrides ViewsPluginInterface::themeFunctions | 1 | 
| PluginBase::trustedCallbacks | public static | function | Lists the trusted callbacks provided by the implementing class. | Overrides TrustedCallbackInterface::trustedCallbacks | 6 | 
| PluginBase::unpackOptions | public | function | Unpacks options over our existing defaults. | Overrides ViewsPluginInterface::unpackOptions | |
| PluginBase::usesOptions | public | function | Returns the usesOptions property. | Overrides ViewsPluginInterface::usesOptions | 8 | 
| PluginBase::validate | public | function | Validate that the plugin is correct and can be saved. | Overrides ViewsPluginInterface::validate | 6 | 
| PluginBase::viewsTokenReplace | protected | function | Replaces Views' tokens in a given string. | 1 | |
| PluginBase::VIEWS_QUERY_LANGUAGE_SITE_DEFAULT | constant | Query string to indicate the site default language. | |||
| StringTranslationTrait::$stringTranslation | protected | property | The string translation service. | 3 | |
| 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. | ||
| Tid::$routeMatch | protected | property | The route match. | ||
| Tid::$vocabularyStorage | protected | property | The vocabulary storage. | ||
| Tid::buildOptionsForm | public | function | Provide the default form for setting options. | Overrides ArgumentDefaultPluginBase::buildOptionsForm | |
| Tid::calculateDependencies | public | function | Calculates dependencies for the configured plugin. | Overrides PluginBase::calculateDependencies | |
| Tid::create | public static | function | Creates an instance of the plugin. | Overrides PluginBase::create | |
| Tid::defineOptions | protected | function | Retrieve the options when this is a new access control plugin. | Overrides ArgumentDefaultPluginBase::defineOptions | |
| Tid::getArgument | public | function | Return the default argument. | Overrides ArgumentDefaultPluginBase::getArgument | |
| Tid::getCacheContexts | public | function | The cache contexts associated with this object. | Overrides CacheableDependencyInterface::getCacheContexts | |
| Tid::getCacheMaxAge | public | function | The maximum age for which this object may be cached. | Overrides CacheableDependencyInterface::getCacheMaxAge | |
| Tid::submitOptionsForm | public | function | Provide the default form for submitting options. | Overrides ArgumentDefaultPluginBase::submitOptionsForm | |
| Tid::__construct | public | function | Constructs a new Tid instance. | Overrides PluginBase::__construct | |
| 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. | 
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
