function hook_views_pre_view

Allows altering a view at the very beginning of processing a preview.

Occurs before anything is done.

This hook is only triggered when the one of the following are invoked:

  • $view->execute_display()
  • $view->preview()

As such code placed in this hook will not fire during:

  • $view->build()
  • $view->execute()
  • $view->render()

Likely, hook_views_pre_build() or hook_views_pre_execute() are much better choices for most use cases since they are always invoked, not just when previewing a display.

Adding output to the view can be accomplished by placing text on $view->attachment_before and $view->attachment_after.

Parameters

object $view: The view object about to be processed.

string $display_id: The machine name of the active display.

array $args: An array of arguments passed into the view.

Related topics

1 invocation of hook_views_pre_view()
view::pre_execute in includes/view.inc
Run attachments and let the display do what it needs to do prior to running.

File

./views.api.php, line 988

Code

function hook_views_pre_view(&$view, &$display_id, &$args) {
    // Change the display if the acting user has 'administer site configuration'
    // permission, to display something radically different.
    // (Note that this is not necessarily the best way to solve that task. Feel
    // free to contribute another example!)
    if ($view->name == 'my_special_view' && user_access('administer site configuration') && $display_id == 'public_display') {
        $view->set_display('private_display');
    }
}