public function ArgumentPluginBase::getCacheContexts in Drupal 9
Same name and namespace in other branches
- 8 core/modules/views/src/Plugin/views/argument/ArgumentPluginBase.php \Drupal\views\Plugin\views\argument\ArgumentPluginBase::getCacheContexts()
The cache contexts associated with this object.
These identify a specific variation/representation of the object.
Cache contexts are tokens: placeholders that are converted to cache keys by the @cache_contexts_manager service. The replacement value depends on the request context (the current URL, language, and so on). They're converted before storing an object in cache.
Return value
string[] An array of cache context tokens, used to generate a cache ID.
Overrides CacheableDependencyInterface::getCacheContexts
See also
\Drupal\Core\Cache\Context\CacheContextsManager::convertTokensToKeys()
File
- core/
modules/ views/ src/ Plugin/ views/ argument/ ArgumentPluginBase.php, line 1284
Class
- ArgumentPluginBase
- Base class for argument (contextual filter) handler plugins.
Namespace
Drupal\views\Plugin\views\argumentCode
public function getCacheContexts() {
$contexts = [];
// By definition arguments depends on the URL.
// @todo Once contexts are properly injected into block views we could pull
// the information from there.
$contexts[] = 'url';
// Asks all subplugins (argument defaults, argument validator and styles).
if (($plugin = $this
->getPlugin('argument_default')) && $plugin instanceof CacheableDependencyInterface) {
$contexts = Cache::mergeContexts($contexts, $plugin
->getCacheContexts());
}
if (($plugin = $this
->getPlugin('argument_validator')) && $plugin instanceof CacheableDependencyInterface) {
$contexts = Cache::mergeContexts($contexts, $plugin
->getCacheContexts());
}
if (($plugin = $this
->getPlugin('style')) && $plugin instanceof CacheableDependencyInterface) {
$contexts = Cache::mergeContexts($contexts, $plugin
->getCacheContexts());
}
return $contexts;
}