function views_infinite_scroll_preprocess_views_infinite_scroll_pager in Views Infinite Scroll 8
Same name and namespace in other branches
- 7.2 views_infinite_scroll.module \views_infinite_scroll_preprocess_views_infinite_scroll_pager()
Implements hook_preprocess_views_infinite_scroll_pager().
File
- ./
views_infinite_scroll.module, line 15 - Module file for views_infinite_scroll.
Code
function views_infinite_scroll_preprocess_views_infinite_scroll_pager(&$vars) {
// The important parts we needed lifted wholesale from
// template_preprocess_views_mini_pager().
/** @var \Drupal\Core\Pager\PagerManagerInterface $pager_manager */
$pager_manager = \Drupal::service('pager.manager');
$element = $vars['element'];
$parameters = $vars['parameters'];
$pager = $pager_manager
->getPager($element);
if (isset($pager) && $pager
->getCurrentPage() < $pager
->getTotalPages() - 1) {
$options = [
'query' => $pager_manager
->getUpdatedParameters($parameters, $element, $pager
->getCurrentPage() + 1),
];
$vars['items']['next']['href'] = Url::fromRoute('<none>', [], $options);
}
$vars['#cache']['contexts'][] = 'url.query_args';
$vars['attributes'] = new Attribute([
'class' => [
'js-pager__items',
'pager',
],
'data-drupal-views-infinite-scroll-pager' => $vars['options']['automatically_load_content'] ? 'automatic' : TRUE,
]);
}