pager_test.module

Same filename in other branches
  1. 9 core/modules/system/tests/modules/pager_test/pager_test.module
  2. 8.9.x core/modules/system/tests/modules/pager_test/pager_test.module
  3. 11.x core/modules/system/tests/modules/pager_test/pager_test.module

Hook implementations for this module.

File

core/modules/system/tests/modules/pager_test/pager_test.module

View source
<?php


/**
 * @file
 * Hook implementations for this module.
 */

/**
 * Implements hook_preprocess_HOOK().
 */
function pager_test_preprocess_pager(&$variables) {
    // Nothing to do if there is only one page.
    $element = $variables['pager']['#element'];
    
    /** @var \Drupal\Core\Pager\PagerManagerInterface $pager_manager */
    $pager_manager = \Drupal::service('pager.manager');
    $pager = $pager_manager->getPager($element);
    // Nothing to do if there is no pager.
    if (!isset($pager)) {
        return;
    }
    // Nothing to do if there is only one page.
    if ($pager->getTotalPages() <= 1) {
        return;
    }
    foreach ($variables['items']['pages'] as $index => &$pager_item) {
        $pager_item['attributes']['pager-test'] = 'yes';
        $pager_item['attributes']->addClass('lizards');
    }
    unset($pager_item);
    foreach ([
        'first',
        'previous',
        'next',
        'last',
    ] as $special_pager_item) {
        if (isset($variables['items'][$special_pager_item])) {
            $variables['items'][$special_pager_item]['attributes']->addClass('lizards');
            $variables['items'][$special_pager_item]['attributes']['pager-test'] = $special_pager_item;
        }
    }
}

Functions

Title Deprecated Summary
pager_test_preprocess_pager Implements hook_preprocess_HOOK().

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.