I'm trying to figure out how to render a view's pager programmatically. I'm renderering my view programmatically as follows:
$viewname = 'example_view';
$viewdisplay = 'block';
// get the view machine id
$view = Views::getView($viewname);
// set the display machine id
$view->setDisplay($viewdisplay);
$view->render();
$renderer = $view->rowPlugin;
foreach ($view->result as $index => $row) {
$view->row_index = $index;
$vars['content']['view_results'][$index] = $renderer->render($row);
}
So now I need to render the pager, but not having any luck. I've tried something like:
$pagerrenderer = $view->pager;
$vars['content']['view_pager'] = $pagerrenderer->render($view->pager);
but then end up with the following error:
Recoverable fatal error: Argument 1 passed to pager_query_add_page() must be of the type array, object given, called in /www/projectname/docroot/core/includes/pager.inc on line 246 and defined in pager_query_add_page() (line 311 of core/includes/pager.inc).
Can anyone point me in the right direction?