function ViewExecutable::getExposedInput
Same name in other branches
- 9 core/modules/views/src/ViewExecutable.php \Drupal\views\ViewExecutable::getExposedInput()
- 8.9.x core/modules/views/src/ViewExecutable.php \Drupal\views\ViewExecutable::getExposedInput()
- 11.x core/modules/views/src/ViewExecutable.php \Drupal\views\ViewExecutable::getExposedInput()
Figures out what the exposed input for this view is.
They will be taken from $this->request->query or from something previously set on the view.
Return value
string[] An array containing the exposed input values keyed by the filter and sort name.
See also
File
-
core/
modules/ views/ src/ ViewExecutable.php, line 740
Class
- ViewExecutable
- Represents a view as a whole.
Namespace
Drupal\viewsCode
public function getExposedInput() {
// Fill our input either from $this->request->query or from something
// previously set on the view.
if (empty($this->exposed_input)) {
// Ensure that we can call the method at any point in time.
$this->initDisplay();
$this->exposed_input = $this->request->query
->all();
// Unset items that are definitely not our input:
foreach ([
'page',
'q',
] as $key) {
if (isset($this->exposed_input[$key])) {
unset($this->exposed_input[$key]);
}
}
// If we have no input at all, check for remembered input via session.
if (empty($this->exposed_input)) {
$session = $this->request
->getSession();
// If filters are not overridden, store the 'remember' settings on the
// default display. If they are, store them on this display. This way,
// multiple displays in the same view can share the same filters and
// remember settings.
$display_id = $this->display_handler
->isDefaulted('filters') ? 'default' : $this->current_display;
if (!empty($session->get('views')[$this->storage
->id()][$display_id])) {
$this->exposed_input = $session->get('views')[$this->storage
->id()][$display_id];
}
}
}
return $this->exposed_input;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.