Pagination Helper class for easy generation of pagination links.
PaginationHelper encloses all methods needed when working with pagination.
$_defaultConfig protected array$_defaultModel protected string$helpers public arrayDropdown select for pagination limit. This will generate a wrapping form.
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.
__construct( Cake\View\View $View , array $config = [] )
Constructor. Overridden to merge passed args with URL options.
Cake\View\View $View $config optional [] Cake\View\Helper::__construct() _firstNumber( string $ellipsis , array $params , integer $start , array $options )
Generates the first number for the paginator numbers() method.
$ellipsis $params $start $options _formatNumber( Cake\View\StringTemplate $templater , array $options )
Formats a number for the paginator number output.
Cake\View\StringTemplate $templater $options _getNumbersStartAndEnd( array $params , array $options )
Calculates the start and end for the pagination numbers.
$params $options _hasPage( string $model , integer $page )
Does $model have $page in its range?
$model $page _lastNumber( string $ellipsis , array $params , integer $end , array $options )
Generates the last number for the paginator numbers() method.
$ellipsis $params $end $options _modulusNumbers( Cake\View\StringTemplate $templater , array $params , array $options )
Generates the numbers for the paginator numbers() method.
Cake\View\StringTemplate $templater $params $options _numbers( Cake\View\StringTemplate $templater , array $params , array $options )
Generates the numbers for the paginator numbers() method.
Cake\View\StringTemplate $templater $params $options _removeAlias( string $field , string|null $model = null )
Remove alias if needed.
$field $model optional null _toggledLink( string|boolean $text , boolean $enabled , array $options , array $templates )
Generate an active/inactive link for next/prev methods.
$text $enabled $options $templates counter( string|array $options = [] )
Returns a counter string for the paged result set
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.$options optional [] Options for the counter string. See #options for list of keys. If string it will be used as format.
current( string|null $model = null )
Gets the current page of the recordset for the given model
$model optional null defaultModel( string|null $model = null )
Gets or sets the default model of the paged sets
$model optional null first( string|integer $first = '<< 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.$first optional '<< first' if string use as label for the link. If numeric, the number of page links you want at the beginning of the range.
$options optional [] generateUrl( array $options = [] , string|null $model = null , 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 result$options optional [] $model optional null $urlOptions optional [] Array of options The bool version of this argument is deprecated and will be removed in 4.0.0
generateUrlParams( array $options = [] , string|null $model = null )
Merges passed URL options with current pagination state to generate a pagination URL.
$options optional [] $model optional null hasNext( string|null $model = null )
Returns true if the given result set is not at the last page
$model optional null hasPage( string|null $model = null , integer $page = 1 )
Returns true if the given result set has the page number given by $page
$model optional null $page optional 1 hasPrev( string|null $model = null )
Returns true if the given result set is not at the first page
$model optional null implementedEvents( )
Event listeners.
Cake\View\Helper::implementedEvents() last( string|integer $last = '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.$last optional 'last >>' $options optional [] limitControl( array $limits = [] , integer|null $default = null , array $options = [] )
Dropdown select for pagination limit. This will generate a wrapping form.
$limits optional [] $default optional null $this->param('perPage').$options optional [] 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 page$options optional [] next( string $title = 'Next >>' , 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.$title optional 'Next >>' $options optional [] 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.
$options optional [] options( array $options = [] )
Sets default options for all pagination links
$options optional [] Default options for pagination links. See PaginatorHelper::$options for list of keys.
param( string $key , string|null $model = null )
Convenience access to any of the paginator params.
$key $model optional null params( string|null $model = null )
Gets the current paging parameters from the resultset for the given model
$model optional null prev( string $title = '<< Previous' , 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.$title optional '<< Previous' $options optional [] sort( string $key , string|null $title = null , 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.$key $title optional null Title for the link. If $title is null $key will be used for the title and will be generated by inflection.
$options optional [] 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|null $model = null , array $options = [] )
Gets the current direction the recordset is sorted
$model optional null $options optional [] The direction by which the recordset is being sorted, or null if the results are not currently sorted.
sortKey( string|null $model = null , array $options = [] )
Gets the current key by which the recordset is sorted
$model optional null $options optional [] The name of the key by which the recordset is being sorted, or null if the results are not currently sorted.
total( string|null $model = null )
Gets the total number of pages in the recordset for the given model.
$model optional null __call( string $method , array $params )
Provide non fatal errors on missing method calls.
$method $params __debugInfo( )
Returns an array that can be used to describe the internal state of this object.
__get( string $name )
Lazy loads helpers.
$name Cake\View\Helper|null__set( string $name , mixed $value )
Magic setter for removed properties.
$name $value _cleanConfirmMessage( string $message )
Returns a string read to be used in confirm()
$message _confirm( string $message , string $okCode , string $cancelCode = '' , array $options = [] )
Returns a string to be used as onclick handler for confirm dialogs.
$message $okCode $cancelCode optional '' $options optional [] addClass( array $options = [] , string|null $class = null , string $key = 'class' )
Adds the given class to the element options
$options optional [] $class optional null $key optional 'class' getView( )
Get the view instance this helper is bound to.
Cake\View\Viewinitialize( array $config )
Constructor hook method.
Implement this method to avoid having to overwrite the constructor and call parent.
$config formatTemplate( string $name , array $data )
Formats a template string with $data
$name $data getTemplates( string|null $template = null )
Gets templates to use or a specific template.
$template optional null setTemplates( array $templates )
Sets templates to use.
$templates templater( )
Returns the templater instance.
Cake\View\StringTemplatetemplates( string|null|array $templates = null )
Gets/sets templates to use.
$templates optional null null or string allow reading templates. An array allows templates to be added.
_configDelete( string $key )
Deletes a single config key.
$key Cake\Core\Exception\Exception_configRead( string|null $key )
Reads a config key.
$key _configWrite( string|array $key , mixed $value , boolean|string $merge = false )
Writes a config key.
$key $value $merge optional false True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.
Cake\Core\Exception\Exceptionconfig( string|array|null $key = null , mixed|null $value = null , boolean $merge = true )
Gets/Sets the config.
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']);
$key optional null $value optional null $merge optional true Cake\Core\Exception\ExceptionconfigShallow( string|array $key , mixed|null $value = null )
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']);
$key $value optional null getConfig( string|null $key = null , mixed $default = null )
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'); $key optional null $default optional null setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )
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']);
$key $value optional null $merge optional true Cake\Core\Exception\Exceptionprotected array
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
[
'options' => [],
'templates' => [
'nextActive' => '<li class="next"><a rel="next" href="{{url}}">{{text}}</a></li>',
'nextDisabled' => '<li class="next disabled"><a href="" onclick="return false;">{{text}}</a></li>',
'prevActive' => '<li class="prev"><a rel="prev" href="{{url}}">{{text}}</a></li>',
'prevDisabled' => '<li class="prev disabled"><a href="" onclick="return false;">{{text}}</a></li>',
'counterRange' => '{{start}} - {{end}} of {{count}}',
'counterPages' => '{{page}} of {{pages}}',
'first' => '<li class="first"><a href="{{url}}">{{text}}</a></li>',
'last' => '<li class="last"><a href="{{url}}">{{text}}</a></li>',
'number' => '<li><a href="{{url}}">{{text}}</a></li>',
'current' => '<li class="active"><a href="">{{text}}</a></li>',
'ellipsis' => '<li class="ellipsis">…</li>',
'sort' => '<a href="{{url}}">{{text}}</a>',
'sortAsc' => '<a class="asc" href="{{url}}">{{text}}</a>',
'sortDesc' => '<a class="desc" href="{{url}}">{{text}}</a>',
'sortAscLocked' => '<a class="asc locked" href="{{url}}">{{text}}</a>',
'sortDescLocked' => '<a class="desc locked" href="{{url}}">{{text}}</a>',
]
] public Cake\View\Helper\FormHelper
public Cake\View\Helper\HtmlHelper
public Cake\View\Helper\UrlHelper
© 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/3.8/class-Cake.View.Helper.PaginatorHelper.html