Same name and namespace in other branches
  1. 8.9.x core/modules/views/views.api.php \hook_views_pre_execute()
  2. 9 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().

File

core/modules/views/views.api.php, line 785
Describes hooks and plugins provided by the Views module.

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(),
    ]));
  }
}