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 array
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( Cake\View\StringTemplate $ellipsis , array $params , integer $start , array $options )
Generates the first number for the paginator numbers() method.
Cake\View\StringTemplate
$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( Cake\View\StringTemplate $ellipsis , array $params , integer $end , array $options )
Generates the last number for the paginator numbers() method.
Cake\View\StringTemplate
$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
_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|boolean $urlOptions false )
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 false fullBase
for BC reasons.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 [] 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_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\View
initialize( 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\StringTemplate
templates( 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\Exception
config( 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\Exception
configShallow( 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->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
$value
optional null getConfig( string|null $key 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');
$key
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\Exception
protected 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\HtmlHelper
public Cake\View\Helper\UrlHelper
© 2005–2017 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.4/class-Cake.View.Helper.PaginatorHelper.html