| 7 views.api.php | hook_views_pre_view(&$view, &$display_id, &$args) |
| 6 docs.php | hook_views_pre_view(&$view, &$display_id, &$args) |
Allows altering a view at the very beginning of views processing, before anything is done.
Adding output to the view can be accomplished by placing text on $view->attachment_before and $view->attachment_after.
Parameters
$view: The view object about to be processed.
$display_id: The machine name of the active display.
$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 829 - Describe hooks provided by the Views module.
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') {
$display_id = 'private_display';
}
}
Comments
$display_id actually isn't
Permalink$display_idactually isn't used after you change it in your hook. As you can see on http://api.drupal.org/api/views/includes%21view.inc/function/view%3A%3Ap... (where this hook is called)$display_idis created before calling this hook, but not used after.This example won't work. What will work is call
$view->set_display().Convert any view to embed type?
PermalinkCan this function be used to convert any display type (block, page, etc.) into embed type? The reason to do that would be to using views_embed_view without losing the contextual links, for example...