/** * Figure out what the exposed input for this view is. */ public function getExposedInput() { // Fill our input either from \Drupal::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 = \Drupal::request()->query->all(); // unset items that are definitely not our input: foreach (array('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 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($this->exposed_input) && !empty($_SESSION['views'][$this->storage->id()][$display_id])) { $this->exposed_input = $_SESSION['views'][$this->storage->id()][$display_id]; } } return $this->exposed_input; }