Pagination Helper class for easy generation of pagination links.
PaginationHelper encloses all methods needed when working with pagination.
\Cake\View\Helper\FormHelper
\Cake\View\Helper\HtmlHelper
\Cake\View\Helper\NumberHelper
\Cake\View\Helper\UrlHelper
\Cake\View\View
The View instance this helper is attached to
array
Runtime config
bool
Whether the config property has already been configured with defaults
array
Default config for this class
string|null
Default model of the paged sets
array
A helper lookup table used to lazy load helper objects.
\Cake\View\StringTemplate
StringTemplate instance.
array
List of helpers used by this helper
Returns an array that can be used to describe the internal state of this object.
Merge provided config with existing config. Unlike config()
which does a recursive merge for nested keys, this method does a simple merge.
Merges passed URL options with current pagination state to generate a pagination URL.
Merges passed URL options with current pagination state to generate a pagination URL.
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).
Generates a sorting link. Sets named parameters for the sort and direction. Handles direction switching automatically.
__call(string $method, array $params)
Provide non fatal errors on missing method calls.
string
$method Method to invoke
array
$params Array of params for the method.
mixed|void
__construct(\Cake\View\View $view, array $config)
Constructor. Overridden to merge passed args with URL options.
\Cake\View\View
$view The View this helper is being attached to.
array
$config optional Configuration settings for the helper.
__debugInfo()
Returns an array that can be used to describe the internal state of this object.
array
__get(string $name)
Lazy loads helpers.
string
$name Name of the property being accessed.
\Cake\View\Helper|null|void
Helper instance if helper with provided name exists
_configDelete(string $key)
Deletes a single config key.
string
$key Key to delete.
Cake\Core\Exception\Exception
_configRead(?string $key)
Reads a config key.
string|null
$key Key to read.
mixed
_configWrite(mixed $key, mixed $value, mixed $merge)
Writes a config key.
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.
Cake\Core\Exception\Exception
_confirm(string $okCode, string $cancelCode)
Returns a string to be used as onclick handler for confirm dialogs.
string
$okCode Code to be executed after user chose 'OK'
string
$cancelCode Code to be executed after user chose 'Cancel'
string
"onclick" JS code
_firstNumber(string $ellipsis, array $params, int $start, array $options)
Generates the first number for the paginator numbers() method.
string
$ellipsis Ellipsis character.
array
$params Params from the numbers() method.
int
$start Start number.
array
$options Options from the numbers() method.
string
Markup output.
_formatNumber(\Cake\View\StringTemplate $templater, array $options)
Formats a number for the paginator number output.
\Cake\View\StringTemplate
$templater StringTemplate instance.
array
$options Options from the numbers() method.
string
_getNumbersStartAndEnd(array $params, array $options)
Calculates the start and end for the pagination numbers.
array
$params Params from the numbers() method.
array
$options Options from the numbers() method.
array
An array with the start and end numbers.
_hasPage(?string $model, string $dir)
Does $model have $page in its range?
string|null
$model Model name to get parameters for.
string
$dir Direction
bool
Whether model has $dir
_lastNumber(string $ellipsis, array $params, int $end, array $options)
Generates the last number for the paginator numbers() method.
string
$ellipsis Ellipsis character.
array
$params Params from the numbers() method.
int
$end End number.
array
$options Options from the numbers() method.
string
Markup output.
_modulusNumbers(\Cake\View\StringTemplate $templater, array $params, array $options)
Generates the numbers for the paginator numbers() method.
\Cake\View\StringTemplate
$templater StringTemplate instance.
array
$params Params from the numbers() method.
array
$options Options from the numbers() method.
string
Markup output.
_numbers(\Cake\View\StringTemplate $templater, array $params, array $options)
Generates the numbers for the paginator numbers() method.
\Cake\View\StringTemplate
$templater StringTemplate instance.
array
$params Params from the numbers() method.
array
$options Options from the numbers() method.
string
Markup output.
_removeAlias(string $field, ?string $model)
Remove alias if needed.
string
$field Current field
string|null
$model optional Current model alias
string
Unaliased field if applicable
_toggledLink(mixed $text, mixed $enabled, mixed $options, mixed $templates)
Generate an active/inactive link for next/prev methods.
string|false
$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.
string
Generated HTML
addClass(array $options, string $class, string $key)
Adds the given class to the element options
array
$options Array options/attributes to add a class to
string
$class The class name being added.
string
$key optional the key to use for class. Defaults to 'class'
.
array
Array of options with $key set.
configShallow(mixed $key, mixed $value)
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->configShallow('key', $value);
Setting a nested value:
$this->configShallow('some.nested.key', $value);
Updating multiple config settings at the same time:
$this->configShallow(['one' => 'value', 'another' => 'value']);
string|array
$key The key to set, or a complete array of configs.
mixed|null
$value optional The value to set.
$this
counter(string $format, array $options)
Returns a counter string for the paged result set.
model
The model to use, defaults to PaginatorHelper::defaultModel();string
$format optional 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.
array
$options optional Options for the counter string. See #options for list of keys. If string it will be used as format.
string
Counter string.
current(?string $model)
Gets the current page of the recordset for the given model
string|null
$model optional Optional model name. Uses the default if none is specified.
int
The current page number of the recordset.
defaultModel(?string $model)
Gets or sets the default model of the paged sets
string|null
$model optional Model name to set
string|null
Model name or null if the pagination isn't initialized.
first(mixed $first, array $options)
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.
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.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.
string
Numbers string.
formatTemplate(string $name, array $data)
Formats a template string with $data
string
$name The template name.
array
$data The data to insert.
string
generateUrl(array $options, ?string $model, array $url, array $urlOptions)
Merges passed URL options with current pagination state to generate a pagination URL.
escape
: If false, the URL will be returned unescaped, do only use if it is manually escaped afterwards before being displayed.fullBase
: If true, the full base URL will be prepended to the resultarray
$options optional Pagination options.
string|null
$model optional Which model to paginate on
array
$url optional URL.
array
$urlOptions optional Array of options
string
By default, returns a full pagination URL string for use in non-standard contexts (i.e. JavaScript)
generateUrlParams(array $options, ?string $model, array $url)
Merges passed URL options with current pagination state to generate a pagination URL.
array
$options optional Pagination/URL options array
string|null
$model optional Which model to paginate on
array
$url optional URL.
array
An array of URL parameters
getConfig(?string $key, mixed $default)
Returns the config.
Reading the whole config:
$this->getConfig();
Reading a specific value:
$this->getConfig('key');
Reading a nested value:
$this->getConfig('some.nested.key');
Reading with default value:
$this->getConfig('some-key', 'default-value');
string|null
$key optional The key to get or null for the whole config.
mixed
$default optional The return value when the key does not exist.
mixed
Configuration data at the named key or null if the key does not exist.
getConfigOrFail(string $key)
Returns the config for this specific key.
The config value for this key must exist, it can never be null.
string
$key The key to get.
mixed
Configuration data at the named key
InvalidArgumentException
getTemplates(?string $template)
Gets templates to use or a specific template.
string|null
$template optional String for reading a specific template, null for all.
string|array
getView()
Get the view instance this helper is bound to.
\Cake\View\View
The bound view instance.
hasNext(?string $model)
Returns true if the given result set is not at the last page
string|null
$model optional Optional model name. Uses the default if none is specified.
bool
True if the result set is not at the last page.
hasPage(int $page, ?string $model)
Returns true if the given result set has the page number given by $page
int
$page optional The page number - if not set defaults to 1.
string|null
$model optional Optional model name. Uses the default if none is specified.
bool
True if the given result set has the specified page number.
InvalidArgumentException
hasPrev(?string $model)
Returns true if the given result set is not at the first page
string|null
$model optional Optional model name. Uses the default if none is specified.
bool
True if the result set is not at the first page.
implementedEvents()
Event listeners.
array
initialize(array $config)
Constructor hook method.
Implement this method to avoid having to overwrite the constructor and call parent.
array
$config The configuration settings provided to this helper.
last(mixed $last, array $options)
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.
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.string|int
$last optional if string use as label for the link, if numeric print page numbers
array
$options optional Array of options
string
Numbers string.
limitControl(array $limits, ?int $default, array $options)
Dropdown select for pagination limit.
This will generate a wrapping form.
array
$limits optional The options array.
int|null
$default optional Default option for pagination limit. Defaults to $this->param('perPage')
.
array
$options optional Options for Select tag attributes like class, id or event
string
html output.
meta(array $options)
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.
model
The model to use defaults to PaginatorHelper::defaultModel()block
The block name to append the output to, or false/absent to return as a stringprev
(default True) True to generate meta for previous pagenext
(default True) True to generate meta for next pagefirst
(default False) True to generate meta for first pagelast
(default False) True to generate meta for last pagearray
$options optional Array of options
string|null
Meta links
next(string $title, array $options)
Generates a "next" link for a set of paged records
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 truemodel
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.string
$title optional Title for the link. Defaults to 'Next >>'.
array
$options optional Options for pagination link. See above for list of keys.
string
A "next" link or $disabledTitle text if the link is disabled.
numbers(array $options)
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.
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. If a string is set a link to the first page will be generated with the value as the title.last
Whether you want last links generated, set to an integer to define the number of 'last' links to generate. If a string is set a link to the last page will be generated with the value as the title.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.
array
$options optional Options for the numbers.
string
Numbers string.
options(array $options)
Sets default options for all pagination links
array
$options optional Default options for pagination links. See PaginatorHelper::$options for list of keys.
param(string $key, ?string $model)
Convenience access to any of the paginator params.
string
$key Key of the paginator params array to retrieve.
string|null
$model optional Optional model name. Uses the default if none is specified.
mixed
Content of the requested param.
params(?string $model)
Gets the current paging parameters from the resultset for the given model
string|null
$model optional Optional model name. Uses the default if none is specified.
array
The array of paging parameters for the paginated resultset.
prev(string $title, array $options)
Generates a "previous" link for a set of paged records
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 truemodel
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.string
$title optional Title for the link. Defaults to '<< Previous'.
array
$options optional Options for pagination link. See above for list of keys.
string
A "previous" link or a disabled link.
setConfig(mixed $key, mixed $value, mixed $merge)
Sets the config.
Setting a specific value:
$this->setConfig('key', $value);
Setting a nested value:
$this->setConfig('some.nested.key', $value);
Updating multiple config settings at the same time:
$this->setConfig(['one' => 'value', 'another' => 'value']);
string|array
$key The key to 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.
$this
Cake\Core\Exception\Exception
setTemplates(array $templates)
Sets templates to use.
string[]
$templates Templates to be added.
$this
sort(string $key, mixed $title, array $options)
Generates a sorting link. Sets named parameters for the sort and direction. Handles direction switching automatically.
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.string
$key The name of the key that the recordset should be sorted.
string|array|null
$title optional Title for the link. If $title is null $key will be used for the title and will be generated by inflection. It can also be an array with keys asc
and desc
for specifying separate titles based on the direction.
array
$options optional Options for sorting link. See above for list of keys.
string
A link sorting default by 'asc'. If the resultset is sorted 'asc' by the specified key the returned link will sort by 'desc'.
sortDir(?string $model, array $options)
Gets the current direction the recordset is sorted
string|null
$model optional Optional model name. Uses the default if none is specified.
array
$options optional Options for pagination links.
string
The direction by which the recordset is being sorted, or null if the results are not currently sorted.
sortKey(?string $model, array $options)
Gets the current key by which the recordset is sorted
string|null
$model optional Optional model name. Uses the default if none is specified.
array
$options optional Options for pagination links.
string|null
The name of the key by which the recordset is being sorted, or null if the results are not currently sorted.
templater()
Returns the templater instance.
\Cake\View\StringTemplate
total(?string $model)
Gets the total number of pages in the recordset for the given model.
string|null
$model optional Optional model name. Uses the default if none is specified.
int
The total pages for the recordset.
\Cake\View\Helper\FormHelper
\Cake\View\Helper\HtmlHelper
\Cake\View\Helper\NumberHelper
\Cake\View\Helper\UrlHelper
The View instance this helper is attached to
\Cake\View\View
Runtime config
array
Whether the config property has already been configured with defaults
bool
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).routePlaceholders
An array specifying which paging params should be passed as route placeholders instead of query string parameters. The array can have values 'sort'
, 'direction'
, 'page'
.Templates: the templates used by this class
array
Default model of the paged sets
string|null
A helper lookup table used to lazy load helper objects.
array
StringTemplate instance.
\Cake\View\StringTemplate
List of helpers used by this helper
array
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.1/class-Cake.View.Helper.PaginatorHelper.html