コード例 #1
0
ファイル: ViewExecutable.php プロジェクト: nsp15/Drupal8
 /**
  * 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;
 }