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.214

Twitter updates

  • This week ProcessWire 3.0.214 is on the dev branch. Relative to 3.0.213 this version has 16 new commits which include the addition of 3 new pull requests, 6 issue fixes, a new WireNumberTools utility class, and various other improvements. More
    17 March 2023
  • ProcessWire 3.0.213 core updates: This week we’ll look at the new WireSitemapXML module, a new WireNumberTools core class, and a new ability for Fieldtype modules to specify useful ready-to-use configurations when creating new fields. More
    24 February 2023
  • ProcessWire 3.0.212 core updates— More
    17 February 2023

Latest news

  • ProcessWire Weekly #463
    In the 463rd issue of ProcessWire Weekly brings we'll check out the latest weekly update from Ryan, some weekly forum and online highlights, and more. Read on!
    Weekly.pw / 26 March 2023
  • ProcessWire 3.0.213 core updates
    This week we’ll look at the new WireSitemapXML module, a new WireNumberTools core class, and a new ability for Fieldtype modules to specify useful ready-to-use configurations when creating new fields.
    Blog / 24 February 2023
  • Subscribe to weekly ProcessWire news

“Indeed, if ProcessWire can be considered as a CMS in its own right, it also offers all the advantages of a CMF (Content Management Framework). Unlike other solutions, the programmer is not forced to follow the proposed model and can integrate his/her ways of doing things.” —Guy Verville, Spiria Digital Inc.