CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (Github)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 3.0 Red Velvet API

  • Project:
    • CakePHP
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 3.0
      • 5.2
      • 5.1
      • 5.0
      • 4.6
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Global
  • Cake
    • Auth
    • Cache
    • Collection
    • Console
    • Controller
    • Core
    • Database
    • Datasource
    • Error
    • Event
    • Filesystem
    • Form
    • I18n
    • Log
    • Network
    • ORM
    • Routing
    • Shell
    • TestSuite
    • Utility
    • Validation
    • View
      • Exception
      • Form
      • Helper
      • Widget

Class PaginatorHelper

Pagination Helper class for easy generation of pagination links.

PaginationHelper encloses all methods needed when working with pagination.

Namespace: Cake\View\Helper
Link: http://book.cakephp.org/3.0/en/views/helpers/paginator.html

Property Summary

  • $Html public @property
    HtmlHelper
  • $Number public @property
    NumberHelper
  • $Url public @property
    UrlHelper
  • $_View protected
    Cake\View\View

    The View instance this helper is attached to

  • $_config protected
    array

    Runtime config

  • $_configInitialized protected
    bool

    Whether the config property has already been configured with defaults

  • $_defaultConfig protected
    array

    Default config for this class

  • $_defaultModel protected
    string

    Default model of the paged sets

  • $_helperMap protected
    array

    A helper lookup table used to lazy load helper objects.

  • $_templater protected
    Cake\View\StringTemplate

    StringTemplate instance.

  • $fieldset public
    array

    Holds the fields ['field_name' => ['type' => 'string', 'length' => 100]], primaryKey and validates ['field_name']

  • $helpers public
    array

    List of helpers used by this helper

  • $plugin public
    string

    Plugin path

  • $request public
    Cake\Network\Request

    Request object

  • $tags public
    array

    Holds tag templates.

  • $theme public
    string

    The current theme name if any.

Method Summary

  • __call() public

    Provide non fatal errors on missing method calls.

  • __construct() public

    Constructor. Overridden to merge passed args with URL options.

  • __debugInfo() public

    Returns an array that can be used to describe the internal state of this object.

  • __get() public

    Lazy loads helpers.

  • _configDelete() protected

    Delete a single config key

  • _configRead() protected

    Read a config variable

  • _configWrite() protected

    Write a config variable

  • _confirm() protected

    Returns a string to be used as onclick handler for confirm dialogs.

  • _firstNumber() protected

    Generates the first number for the paginator numbers() method.

  • _formatNumber() protected

    Formats a number for the paginator number output.

  • _getNumbersStartAndEnd() protected

    Calculates the start and end for the pagination numbers.

  • _hasPage() protected

    Does $model have $page in its range?

  • _lastNumber() protected

    Generates the last number for the paginator numbers() method.

  • _modulusNumbers() protected

    Generates the numbers for the paginator numbers() method.

  • _numbers() protected

    Generates the numbers for the paginator numbers() method.

  • _toggledLink() protected

    Generate an active/inactive link for next/prev methods.

  • addClass() public

    Adds the given class to the element options

  • config() public

    Usage

  • configShallow() public

    Merge provided config with existing config. Unlike config() which does a recursive merge for nested keys, this method does a simple merge.

  • counter() public

    Returns a counter string for the paged result set

  • current() public

    Gets the current page of the recordset for the given model

  • defaultModel() public

    Gets the default model of the paged sets

  • first() public

    Returns a first or set of numbers for the first pages.

  • formatTemplate() public

    Format a template string with $data

  • generateUrl() public

    Merges passed URL options with current pagination state to generate a pagination URL.

  • hasNext() public

    Returns true if the given result set is not at the last page

  • hasPage() public

    Returns true if the given result set has the page number given by $page

  • hasPrev() public

    Returns true if the given result set is not at the first page

  • implementedEvents() public

    Event listeners.

  • last() public

    Returns a last or set of numbers for the last pages.

  • meta() public

    Returns the meta-links for a paginated result set.

  • next() public

    Generates a "next" link for a set of paged records

  • numbers() public

    Returns a set of numbers for the paged result set uses a modulus to decide how many numbers to show on each side of the current page (default: 8).

  • options() public

    Sets default options for all pagination links

  • param() public

    Convenience access to any of the paginator params.

  • params() public

    Gets the current paging parameters from the resultset for the given model

  • prev() public

    Generates a "previous" link for a set of paged records

  • sort() public

    Generates a sorting link. Sets named parameters for the sort and direction. Handles direction switching automatically.

  • sortDir() public

    Gets the current direction the recordset is sorted

  • sortKey() public

    Gets the current key by which the recordset is sorted

  • templater() public

    templater

  • templates() public

    Get/set templates to use.

Method Detail

__call() ¶ public

__call(string $method, array $params): void

Provide non fatal errors on missing method calls.

Parameters
string $method

Method to invoke

array $params

Array of params for the method.

Returns
void

__construct() ¶ public

__construct(Cake\View\View $View, array $config = [])

Constructor. Overridden to merge passed args with URL options.

Parameters
Cake\View\View $View

The View this helper is being attached to.

array $config optional

Configuration settings for the helper.

__debugInfo() ¶ public

__debugInfo(): array

Returns an array that can be used to describe the internal state of this object.

Returns
array

__get() ¶ public

__get(string $name): Cake\View\Helper|void

Lazy loads helpers.

Parameters
string $name

Name of the property being accessed.

Returns
Cake\View\Helper|void

_configDelete() ¶ protected

_configDelete(string $key): void

Delete a single config key

Parameters
string $key

Key to delete.

Returns
void
Throws
Cake\Core\Exception\Exception
if attempting to clobber existing config

_configRead() ¶ protected

_configRead(string|null $key): mixed

Read a config variable

Parameters
string|null $key

Key to read.

Returns
mixed

_configWrite() ¶ protected

_configWrite(string|array $key, mixed $value, bool|string $merge = false): void

Write a config variable

Parameters
string|array $key

Key to write to.

mixed $value

Value to write.

bool|string $merge optional

True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.

Returns
void
Throws
Cake\Core\Exception\Exception
if attempting to clobber existing config

_confirm() ¶ protected

_confirm(string $message, string $okCode, string $cancelCode = '', array $options = []): string

Returns a string to be used as onclick handler for confirm dialogs.

Parameters
string $message

Message to be displayed

string $okCode

Code to be executed after user chose 'OK'

string $cancelCode optional

Code to be executed after user chose 'Cancel'

array $options optional

Array of options

Returns
string

_firstNumber() ¶ protected

_firstNumber(Cake\View\StringTemplate $ellipsis, array $params, int $start, array $options): string

Generates the first number for the paginator numbers() method.

Parameters
Cake\View\StringTemplate $ellipsis

StringTemplate instance.

array $params

Params from the numbers() method.

int $start

Start number.

array $options

Options from the numbers() method.

Returns
string

_formatNumber() ¶ protected

_formatNumber(Cake\View\StringTemplate $templater, array $options): string

Formats a number for the paginator number output.

Parameters
Cake\View\StringTemplate $templater

StringTemplate instance.

array $options

Options from the numbers() method.

Returns
string

_getNumbersStartAndEnd() ¶ protected

_getNumbersStartAndEnd(array $params, array $options): array

Calculates the start and end for the pagination numbers.

Parameters
array $params

Params from the numbers() method.

array $options

Options from the numbers() method.

Returns
array

_hasPage() ¶ protected

_hasPage(string $model, int $page): bool

Does $model have $page in its range?

Parameters
string $model

Model name to get parameters for.

int $page

Page number you are checking.

Returns
bool

_lastNumber() ¶ protected

_lastNumber(Cake\View\StringTemplate $ellipsis, array $params, int $end, array $options): string

Generates the last number for the paginator numbers() method.

Parameters
Cake\View\StringTemplate $ellipsis

StringTemplate instance.

array $params

Params from the numbers() method.

int $end

End number.

array $options

Options from the numbers() method.

Returns
string

_modulusNumbers() ¶ protected

_modulusNumbers(Cake\View\StringTemplate $templater, array $params, array $options): string

Generates the numbers for the paginator numbers() method.

Parameters
Cake\View\StringTemplate $templater

StringTemplate instance.

array $params

Params from the numbers() method.

array $options

Options from the numbers() method.

Returns
string

_numbers() ¶ protected

_numbers(Cake\View\StringTemplate $templater, array $params, array $options): string

Generates the numbers for the paginator numbers() method.

Parameters
Cake\View\StringTemplate $templater

StringTemplate instance.

array $params

Params from the numbers() method.

array $options

Options from the numbers() method.

Returns
string

_toggledLink() ¶ protected

_toggledLink(string|bool $text, bool $enabled, array $options, array $templates): string

Generate an active/inactive link for next/prev methods.

Parameters
string|bool $text

The enabled text for the link.

bool $enabled

Whether or not the enabled/disabled version should be created.

array $options

An array of options from the calling method.

array $templates

An array of templates with the 'active' and 'disabled' keys.

Returns
string

addClass() ¶ public

addClass(array $options = [], string $class = null, string $key = 'class'): array

Adds the given class to the element options

Parameters
array $options optional

Array options/attributes to add a class to

string $class optional

The class name being added.

string $key optional

the key to use for class.

Returns
array

config() ¶ public

config(string|array|null $key = null, mixed|null $value = null, bool $merge = true): mixed

Usage

Reading the whole config:

$this->config();

Reading a specific value:

$this->config('key');

Reading a nested value:

$this->config('some.nested.key');

Setting a specific value:

$this->config('key', $value);

Setting a nested value:

$this->config('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->config(['one' => 'value', 'another' => 'value']);
Parameters
string|array|null $key optional

The key to get/set, or a complete array of configs.

mixed|null $value optional

The value to set.

bool $merge optional

Whether to recursively merge or overwrite existing config, defaults to true.

Returns
mixed
Throws
Cake\Core\Exception\Exception
When trying to set a key that is invalid.

configShallow() ¶ public

configShallow(string|array $key, mixed|null $value = null): $this

Merge provided config with existing config. Unlike config() which does a recursive merge for nested keys, this method does a simple merge.

Setting a specific value:

$this->config('key', $value);

Setting a nested value:

$this->config('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->config(['one' => 'value', 'another' => 'value']);
Parameters
string|array $key

The key to set, or a complete array of configs.

mixed|null $value optional

The value to set.

Returns
$this

counter() ¶ public

counter(string|array $options = []): string

Returns a counter string for the paged result set

Options

  • model The model to use, defaults to PaginatorHelper::defaultModel();
  • format The format string you want to use, defaults to 'pages' Which generates output like '1 of 5' set to 'range' to generate output like '1 - 3 of 13'. Can also be set to a custom string, containing the following placeholders {{page}}, {{pages}}, {{current}}, {{count}}, {{model}}, {{start}}, {{end}} and any custom content you would like.
Parameters
string|array $options optional

Options for the counter string. See #options for list of keys. If string it will be used as format.

Returns
string
Links
http://book.cakephp.org/3.0/en/views/helpers/paginator.html#creating-a-page-counter

current() ¶ public

current(string|null $model = null): int

Gets the current page of the recordset for the given model

Parameters
string|null $model optional

Optional model name. Uses the default if none is specified.

Returns
int
Links
http://book.cakephp.org/3.0/en/views/helpers/paginator.html#checking-the-pagination-state

defaultModel() ¶ public

defaultModel(): string|null

Gets the default model of the paged sets

Returns
string|null

first() ¶ public

first(string|int $first = '<< first', array $options = []): string

Returns a first or set of numbers for the first pages.

echo $this->Paginator->first('< first');

Creates a single link for the first page. Will output nothing if you are on the first page.

echo $this->Paginator->first(3);

Will create links for the first 3 pages, once you get to the third or greater page. Prior to that nothing will be output.

Options:

  • model The model to use defaults to PaginatorHelper::defaultModel()
  • escape Whether or not to HTML escape the text.
  • url An array of additional URL options to use for link generation.
Parameters
string|int $first optional

if string use as label for the link. If numeric, the number of page links you want at the beginning of the range.

array $options optional

An array of options.

Returns
string
Links
http://book.cakephp.org/3.0/en/views/helpers/paginator.html#creating-jump-links

formatTemplate() ¶ public

formatTemplate(string $name, array $data): string

Format a template string with $data

Parameters
string $name

The template name.

array $data

The data to insert.

Returns
string

generateUrl() ¶ public

generateUrl(array $options = [], string|null $model = null, bool $full = false): mixed

Merges passed URL options with current pagination state to generate a pagination URL.

Parameters
array $options optional

Pagination/URL options array

string|null $model optional

Which model to paginate on

bool $full optional

If true, the full base URL will be prepended to the result

Returns
mixed
Links
http://book.cakephp.org/3.0/en/views/helpers/paginator.html#generating-pagination-urls

hasNext() ¶ public

hasNext(string|null $model = null): bool

Returns true if the given result set is not at the last page

Parameters
string|null $model optional

Optional model name. Uses the default if none is specified.

Returns
bool
Links
http://book.cakephp.org/3.0/en/views/helpers/paginator.html#checking-the-pagination-state

hasPage() ¶ public

hasPage(string $model = null, int $page = 1): bool

Returns true if the given result set has the page number given by $page

Parameters
string $model optional

Optional model name. Uses the default if none is specified.

int $page optional

The page number - if not set defaults to 1.

Returns
bool
Links
http://book.cakephp.org/3.0/en/views/helpers/paginator.html#checking-the-pagination-state

hasPrev() ¶ public

hasPrev(string|null $model = null): bool

Returns true if the given result set is not at the first page

Parameters
string|null $model optional

Optional model name. Uses the default if none is specified.

Returns
bool
Links
http://book.cakephp.org/3.0/en/views/helpers/paginator.html#checking-the-pagination-state

implementedEvents() ¶ public

implementedEvents(): array

Event listeners.

By defining one of the callback methods a helper is assumed to be interested in the related event.

Override this method if you need to add non-conventional event listeners. Or if you want helpers to listen to non-standard events.

Returns
array

last() ¶ public

last(string|int $last = 'last >>', array $options = []): string

Returns a last or set of numbers for the last pages.

echo $this->Paginator->last('last >');

Creates a single link for the last page. Will output nothing if you are on the last page.

echo $this->Paginator->last(3);

Will create links for the last 3 pages. Once you enter the page range, no output will be created.

Options:

  • model The model to use defaults to PaginatorHelper::defaultModel()
  • escape Whether or not to HTML escape the text.
  • url An array of additional URL options to use for link generation.
Parameters
string|int $last optional

if string use as label for the link, if numeric print page numbers

array $options optional

Array of options

Returns
string
Links
http://book.cakephp.org/3.0/en/views/helpers/paginator.html#creating-jump-links

meta() ¶ public

meta(array $options = []): string|null

Returns the meta-links for a paginated result set.

echo $this->Paginator->meta();

Echos the links directly, will output nothing if there is neither a previous nor next page.

$this->Paginator->meta(['block' => true]);

Will append the output of the meta function to the named block - if true is passed the "meta" block is used.

Options:

  • model The model to use defaults to PaginatorHelper::defaultModel()
  • block The block name to append the output to, or false/absenst to return as a string
Parameters
array $options optional

Array of options

Returns
string|null

next() ¶ public

next(string $title = 'Next >>', array $options = []): string

Generates a "next" link for a set of paged records

Options:

  • disabledTitle The text to used when the link is disabled. This defaults to the same text at the active link. Setting to false will cause this method to return ''.
  • escape Whether you want the contents html entity encoded, defaults to true
  • model The model to use, defaults to PaginatorHelper::defaultModel()
  • url An array of additional URL options to use for link generation.
  • templates An array of templates, or template file name containing the templates you'd like to use when generating the link for next page. The helper's original templates will be restored once next() is done.
Parameters
string $title optional

Title for the link. Defaults to 'Next >>'.

array $options optional

Options for pagination link. See above for list of keys.

Returns
string
Links
http://book.cakephp.org/3.0/en/views/helpers/paginator.html#creating-jump-links

numbers() ¶ public

numbers(array $options = []): string

Returns a set of numbers for the paged result set uses a modulus to decide how many numbers to show on each side of the current page (default: 8).

$this->Paginator->numbers(['first' => 2, 'last' => 2]);

Using the first and last options you can create links to the beginning and end of the page set.

Options

  • before Content to be inserted before the numbers, but after the first links.
  • after Content to be inserted after the numbers, but before the last links.
  • model Model to create numbers for, defaults to PaginatorHelper::defaultModel()
  • modulus How many numbers to include on either side of the current page, defaults to 8. Set to false to disable and to show all numbers.
  • first Whether you want first links generated, set to an integer to define the number of 'first' links to generate.
  • last Whether you want last links generated, set to an integer to define the number of 'last' links to generate.
  • templates An array of templates, or template file name containing the templates you'd like to use when generating the numbers. The helper's original templates will be restored once numbers() is done.
  • url An array of additional URL options to use for link generation.

The generated number links will include the 'ellipsis' template when the first and last options and the number of pages exceed the modulus. For example if you have 25 pages, and use the first/last options and a modulus of 8, ellipsis content will be inserted after the first and last link sets.

Parameters
array $options optional

Options for the numbers.

Returns
string
Links
http://book.cakephp.org/3.0/en/views/helpers/paginator.html#creating-page-number-links

options() ¶ public

options(array $options = []): void

Sets default options for all pagination links

Parameters
array $options optional

Default options for pagination links. See PaginatorHelper::$options for list of keys.

Returns
void

param() ¶ public

param(string $key, string|null $model = null): mixed

Convenience access to any of the paginator params.

Parameters
string $key

Key of the paginator params array to retrieve.

string|null $model optional

Optional model name. Uses the default if none is specified.

Returns
mixed

params() ¶ public

params(string|null $model = null): array

Gets the current paging parameters from the resultset for the given model

Parameters
string|null $model optional

Optional model name. Uses the default if none is specified.

Returns
array

prev() ¶ public

prev(string $title = '<< Previous', array $options = []): string

Generates a "previous" link for a set of paged records

Options:

  • disabledTitle The text to used when the link is disabled. This defaults to the same text at the active link. Setting to false will cause this method to return ''.
  • escape Whether you want the contents html entity encoded, defaults to true
  • model The model to use, defaults to PaginatorHelper::defaultModel()
  • url An array of additional URL options to use for link generation.
  • templates An array of templates, or template file name containing the templates you'd like to use when generating the link for previous page. The helper's original templates will be restored once prev() is done.
Parameters
string $title optional

Title for the link. Defaults to '<< Previous'.

array $options optional

Options for pagination link. See above for list of keys.

Returns
string
Links
http://book.cakephp.org/3.0/en/views/helpers/paginator.html#creating-jump-links

sort() ¶ public

sort(string $key, string|null $title = null, array $options = []): string

Generates a sorting link. Sets named parameters for the sort and direction. Handles direction switching automatically.

Options:

  • escape Whether you want the contents html entity encoded, defaults to true.
  • model The model to use, defaults to PaginatorHelper::defaultModel().
  • direction The default direction to use when this link isn't active.
  • lock Lock direction. Will only use the default direction then, defaults to false.
Parameters
string $key

The name of the key that the recordset should be sorted.

string|null $title optional

Title for the link. If $title is null $key will be used for the title and will be generated by inflection.

array $options optional

Options for sorting link. See above for list of keys.

Returns
string
Links
http://book.cakephp.org/3.0/en/views/helpers/paginator.html#creating-sort-links

sortDir() ¶ public

sortDir(string|null $model = null, array $options = []): string

Gets the current direction the recordset is sorted

Parameters
string|null $model optional

Optional model name. Uses the default if none is specified.

array $options optional

Options for pagination links. See #options for list of keys.

Returns
string
Links
http://book.cakephp.org/3.0/en/views/helpers/paginator.html#creating-sort-links

sortKey() ¶ public

sortKey(string|null $model = null, array $options = []): string|null

Gets the current key by which the recordset is sorted

Parameters
string|null $model optional

Optional model name. Uses the default if none is specified.

array $options optional

Options for pagination links. See #options for list of keys.

Returns
string|null
Links
http://book.cakephp.org/3.0/en/views/helpers/paginator.html#creating-sort-links

templater() ¶ public

templater(): Cake\View\StringTemplate

templater

Returns
Cake\View\StringTemplate

templates() ¶ public

templates(string|null|array $templates = null): $this|string|array

Get/set templates to use.

Parameters
string|null|array $templates optional

null or string allow reading templates. An array allows templates to be added.

Returns
$this|string|array

Property Detail

$Html ¶ public @property

Type
HtmlHelper

$Number ¶ public @property

Type
NumberHelper

$Url ¶ public @property

Type
UrlHelper

$_View ¶ protected

The View instance this helper is attached to

Type
Cake\View\View

$_config ¶ protected

Runtime config

Type
array

$_configInitialized ¶ protected

Whether the config property has already been configured with defaults

Type
bool

$_defaultConfig ¶ protected

Default config for this class

Options: Holds the default options for pagination links

The values that may be specified are:

  • url Url of the action. See Router::url()
  • url['sort'] the key that the recordset is sorted.
  • url['direction'] Direction of the sorting (default: 'asc').
  • url['page'] Page number to use in links.
  • model The name of the model.
  • escape Defines if the title field for the link should be escaped (default: true).

Templates: the templates used by this class

Type
array

$_defaultModel ¶ protected

Default model of the paged sets

Type
string

$_helperMap ¶ protected

A helper lookup table used to lazy load helper objects.

Type
array

$_templater ¶ protected

StringTemplate instance.

Type
Cake\View\StringTemplate

$fieldset ¶ public

Holds the fields ['field_name' => ['type' => 'string', 'length' => 100]], primaryKey and validates ['field_name']

Type
array

$helpers ¶ public

List of helpers used by this helper

Type
array

$plugin ¶ public

Plugin path

Type
string

$request ¶ public

Request object

Type
Cake\Network\Request

$tags ¶ public

Holds tag templates.

Type
array

$theme ¶ public

The current theme name if any.

Type
string
OpenHub
Pingping
Linode
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (Github)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs