PaginatedArray::getPaginationString() method

Get a "1 to 10 of 50" type of string useful for pagination headlines.

This returns a string of 1 to 10 of 30 (items) or 1 of 10 (pages) for example.

Since 3.0.108 you can optionally replace either of the arguments with an $options o array instead, and you can specify any of these options:

  • label (string): Label to use for items, same as $label argument (default='').
  • zeroLabel (string): Alternate label to use if there are zero items, since 3.0.127 (default='').
  • usePageNum (bool): Specify true to show page numbers rather than item numbers (default=false).
  • count (int): Use this count rather than count in this PaginatedArray (default=-1, disabled).
  • start (int): Use this start rather than start in this PaginatedArray (default=-1, disabled).
  • limit (int): Use this limit rather than limit in this PaginatedArray (default=-1, disabled).
  • total (int): Use this total rather than total in this PaginatedArray (default=-1, disabled).

Example

// Get string like "Items 1 to 25 of 500"
echo $items->getPaginationString('Items');

// Get string like "Page 1 of 10"
echo $items->getPaginationString('Page', true);

// Get string where you specify all options
echo $items->getPaginationString(array(
  'label' => 'Items',
  'zeroLabel' => 'No items found', // 3.0.127+ only
  'usePageNum' => false,
  'count' => 10,
  'start' => 0,
  'limit' => 10,
  'total' => 100
));

Usage

// basic usage
$string = $paginatedArray->getPaginationString();

// usage with all arguments
$string = $paginatedArray->getPaginationString($label = '', $usePageNum = false);

Arguments

NameType(s)Description
label (optional)string, array

Label to identify item type, i.e. "Items" or "Page", etc. (default=empty).

usePageNum (optional)bool, array

Specify true to show page numbers rather than item numbers (default=false).

Return value

string

Formatted string


PaginatedArray methods and properties

API reference based on ProcessWire core version 3.0.148

Twitter updates

  • New post in the blog about all the fun we had driving around a DDOS attack on our forums, how we got it back under control, and what we learned along the way. Plus PW 3.0.150 dev details and links! More
    7 February 2020
  • New post: ProcessWire core updates (January 31, 2020)— More
    31 January 2020
  • Weekly update for Jan 10, 2020—front-end file uploads in LoginRegisterPro with InputfieldFrontendFile module: More
    10 January 2020

Latest news

  • ProcessWire Weekly #301
    In the 301st issue of ProcessWire Weekly we're going to check out the latest core updates, introduce brand new third party modules RockDaterange and Modules Manager 2, and highlight a brilliant new site of the week. Read on!
    Weekly.pw / 15 February 2020
  • Driving around a DDOS attack
    Last Saturday we started getting hit with heavy traffic at the processwire.com support forums, and it soon became a full blown DDOS frenzy. This post describes all the fun, how we got it back under control, and what we learned along the way.
    Blog / 7 February 2020
  • Subscribe to weekly ProcessWire news

I just love the easy and intuitive ProcessWire API. ProcessWire rocks!” —Jens Martsch, Web developer