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. 10 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 1733

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.