ViewExecutable::getExposedInput

public ViewExecutable::getExposedInput()

Figures out what the exposed input for this view is.

They will be taken from \Drupal::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

self::setExposedInput()

File

core/modules/views/src/ViewExecutable.php, line 675

Class

ViewExecutable
Represents a view as a whole.

Namespace

Drupal\views

Code

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;
}
doc_Drupal
2016-10-29 09:54:20
Comments
Leave a Comment

Please login to continue.