예제 #1
0
 /**
  * Run attachments and let the display do what it needs to do prior
  * to running.
  */
 public function preExecute($args = array())
 {
     $this->old_view[] = views_get_current_view();
     views_set_current_view($this);
     $display_id = $this->current_display;
     // Prepare the view with the information we have, but only if we were
     // passed arguments, as they may have been set previously.
     if ($args) {
         $this->setArguments($args);
     }
     // Let modules modify the view just prior to executing it.
     \Drupal::moduleHandler()->invokeAll('views_pre_view', array($this, $display_id, &$this->args));
     // Allow hook_views_pre_view() to set the dom_id, then ensure it is set.
     $this->dom_id = !empty($this->dom_id) ? $this->dom_id : hash('sha256', $this->storage->id() . REQUEST_TIME . mt_rand());
     // Allow the display handler to set up for execution
     $this->display_handler->preExecute();
 }