function ViewExecutable::preExecute

Same name and namespace in other branches
  1. 9 core/modules/views/src/ViewExecutable.php \Drupal\views\ViewExecutable::preExecute()
  2. 8.9.x core/modules/views/src/ViewExecutable.php \Drupal\views\ViewExecutable::preExecute()
  3. 11.x core/modules/views/src/ViewExecutable.php \Drupal\views\ViewExecutable::preExecute()

Runs attachments and lets the display do what it needs to before running.

Parameters

array $args: An array of arguments from the URL that can be used by the view.

2 calls to ViewExecutable::preExecute()
ViewExecutable::executeDisplay in core/modules/views/src/ViewExecutable.php
Executes the given display, with the given arguments.
ViewExecutable::preview in core/modules/views/src/ViewExecutable.php
Previews the given display, with the given arguments.

File

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

Class

ViewExecutable
Represents a view as a whole.

Namespace

Drupal\views

Code

public function preExecute($args = []) {
  $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', [
    $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() . \Drupal::time()->getRequestTime() . mt_rand());
  // Allow the display handler to set up for execution
  $this->display_handler
    ->preExecute();
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.