function ExposedFormPluginBase::getCacheContexts
Same name in other branches
- 9 core/modules/views/src/Plugin/views/exposed_form/ExposedFormPluginBase.php \Drupal\views\Plugin\views\exposed_form\ExposedFormPluginBase::getCacheContexts()
- 8.9.x core/modules/views/src/Plugin/views/exposed_form/ExposedFormPluginBase.php \Drupal\views\Plugin\views\exposed_form\ExposedFormPluginBase::getCacheContexts()
- 11.x core/modules/views/src/Plugin/views/exposed_form/ExposedFormPluginBase.php \Drupal\views\Plugin\views\exposed_form\ExposedFormPluginBase::getCacheContexts()
Overrides CacheableDependencyInterface::getCacheContexts
File
-
core/
modules/ views/ src/ Plugin/ views/ exposed_form/ ExposedFormPluginBase.php, line 350
Class
- ExposedFormPluginBase
- Base class for Views exposed filter form plugins.
Namespace
Drupal\views\Plugin\views\exposed_formCode
public function getCacheContexts() {
$contexts = [];
if ($this->options['expose_sort_order']) {
// The sort order query arg is just important in case there is an exposed
// sort order.
$has_exposed_sort_handler = FALSE;
/** @var \Drupal\views\Plugin\views\sort\SortPluginBase $sort_handler */
foreach ($this->displayHandler
->getHandlers('sort') as $sort_handler) {
if ($sort_handler->isExposed()) {
$has_exposed_sort_handler = TRUE;
}
}
if ($has_exposed_sort_handler) {
$contexts[] = 'url.query_args:sort_order';
}
}
// Merge in cache contexts for all exposed filters to prevent display of
// cached forms.
foreach ($this->displayHandler
->getHandlers('filter') as $filter_handler) {
if ($filter_handler->isExposed()) {
$contexts = Cache::mergeContexts($contexts, $filter_handler->getCacheContexts());
}
}
return $contexts;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.