function hook_views_pre_execute

Same name in other branches
  1. 9 core/modules/views/views.api.php \hook_views_pre_execute()
  2. 10 core/modules/views/views.api.php \hook_views_pre_execute()
  3. 11.x core/modules/views/views.api.php \hook_views_pre_execute()

Act on the view after the query is built and just before it is executed.

Output can be added to the view by setting $view->attachment_before and $view->attachment_after.

Parameters

\Drupal\views\ViewExecutable $view: The view object about to be processed.

See also

\Drupal\views\ViewExecutable

Related topics

1 function implements hook_views_pre_execute()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

views_test_data_views_pre_execute in core/modules/views/tests/modules/views_test_data/views_test_data.views_execution.inc
Implements hook_views_pre_execute().
1 invocation of hook_views_pre_execute()
ViewExecutable::execute in core/modules/views/src/ViewExecutable.php
Executes the view's query.

File

core/modules/views/views.api.php, line 766

Code

function hook_views_pre_execute(ViewExecutable $view) {
    // Whenever a view queries more than two tables, show a message that notifies
    // view administrators that the query might be heavy.
    // (This action could be performed later in the execution process, but not
    // earlier.)
    $account = \Drupal::currentUser();
    if (count($view->query->tables) > 2 && $account->hasPermission('administer views')) {
        \Drupal::messenger()->addWarning(t('The view %view may be heavy to execute.', [
            '%view' => $view->id(),
        ]));
    }
}

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