Recommended releases

Download Released

Pagerer is a module providing a collection of pager themes to enhance Backdrop
and Views standard pagers.

Administrators or site builders can preset multiple pager configurations. Each
'preset' allows a pager to be made up of three 'panes': left, center, and
right. Each pane can contain (or not) a pager theme. In this way there is
plenty of possibilities to combine different elements to satisfy complex
requirements.

Pagerer allows to override Backdrop's core pager with any of the preset
configurations. Also, a built-in pager plugin for Views allows to use any of
the preset pagers within any view.

Pagerer uses standard Backdrop pager classes to render the pagers, so styling
is preserved.

Module developers can also make direct calls to the themes, thus allowing
even more complex scenarios.

Features:

  • multi-pane pager
  • Views pager plugin integrates with views
  • control whether to display links to pages, to items, or to item ranges
  • direct input of the page to go to through an input widget
  • selection of the page to go to through a jQuery UI slider
  • selection of the page to go to through a client-side scrolling pager
  • links to progressively more distant pages (like +10, + 20, +100, +200)
  • adaptive logic links
  • specify text to be used to render page separators (like a vertical bar)
    and page breakers (like an ellipsis)
  • supports Views' AJAX enabled pager

Instructions:

  • Install this module using the official Backdrop CMS instructions at
    https://docs.backdropcms.org/documentation/extend-with-modules.

  • Visit the configuration page under Administration > Configuration >
    User interface > Pagerer (admin/config/user-interface/pagerer) and enter the
    required information.

  • Create and configure any number of 'preset' pagers.

  • Select a preset to use as a general replacement of Backdrop core pager, or
    use a preset as a pager in Views.

  • The Views pager plugin introduces a new 'Paged output, Pagerer' option in
    the list of possible pagers to be used for a view.
    It behaves like a 'full pager', with the additional option to select the
    Pagerer preset to be used for rendering the pager - so that every view could
    use a different preset, but also many views could use the same preset.

Differences from Drupal 7

  • The jQuery update module is not required since jQuery in Backdrop is up to date.

Known Issues

Compatibility with the Pager Fix module.

  • While Backdrop's pager is zero-based internally, the Pager Fix module makes
    the page URL parameter match the displayed page number by adding 1 to
    outbound links built with url() and subtracting 1 from incoming requests.

    Pagerer's mini and slider panes build their navigation URLs directly in
    JavaScript rather than through url(), so they never receive Pager Fix's
    outbound +1. Pager Fix's inbound -1 still applies unconditionally,
    which shifts the target page by one (e.g. entering "5" in the mini pager
    lands on page 4).

    To be compatible with the Pager Fix module on Pagerer's main settings page
    (admin/config/user-interface/pagerer), under "General", check "Start
    page numbering at 1 in generated URLs". This is a single, site-wide
    setting - it applies to every mini/slider pane wherever it ends up in
    use (core pager override, a theme preset, or a views pager plugin),
    rather than needing to be set separately in each place. Enabling it makes
    those panes apply the same +1 to their own generated URLs that Pager Fix
    would have applied through url(), so Pager Fix's inbound -1 lands on
    the correct page.

    Panes that render plain links (pagerer_standard, pagerer_adaptive, pagerer_progressive, pagerer_scrollpane) go through url() normally and
    are not affected.

Documentation

See USING_PAGERER.md file.

Additional documentation is located in the Wiki.

Issues

Bugs and feature requests should be reported in the Issue Queue.

Current Maintainers

  • Seeking additional maintainers.

Credits:

License

This project is GPL v2 software.
See the LICENSE.txt file in this directory for complete text.