You are here

function _node_gallery_api_views_embed_view in Node Gallery 7

Embed a view.

1 call to _node_gallery_api_views_embed_view()
_node_gallery_api_gallery_view in ./node_gallery_api.module
Attaches the gallery node's image view to the node's content.

File

./node_gallery_api.module, line 1182
Node Gallery module.

Code

function _node_gallery_api_views_embed_view($name, $display_id = 'default') {
  static $pager_id = 0;
  $args = func_get_args();

  // Remove $name.
  array_shift($args);
  if (count($args)) {

    // Remove $display_id.
    array_shift($args);
  }
  $view = views_get_view($name);
  if (!$view || !$view
    ->access($display_id)) {
    return;
  }

  // Override view pager options here.
  if (method_exists($view, 'init_pager')) {

    // Views 3 version.
    $pager = $view->display_handler
      ->get_option('pager');
    $pager['options']['id'] = ++$pager_id;
    $view->display_handler
      ->set_option('pager', $pager);
  }
  else {
    $view
      ->set_display($display_id);
    $view->display_handler
      ->set_option('pager_element', ++$pager_id);
  }
  return $view
    ->preview($display_id, $args);
}