Class PaginatorHelper
Pagination Helper class for easy generation of pagination links.
PaginationHelper encloses all methods needed when working with pagination.
- AppHelper
-
PaginatorHelper
Link: https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/View/Helper/PaginatorHelper.php
Properties summary
-
$_ajaxHelperClass
protectedstring
The class used for 'Ajax' pagination links. Defaults to JsHelper. You should make sure that JsHelper is defined as a helper before PaginatorHelper, if you want to customize the JsHelper.
-
$helpers
publicHelper dependenciesarray
-
$options
publicHolds the default options for pagination linksarray
Magic properties summary
-
$Html
public
Method Summary
- __construct() publicConstructor for the helper. Sets up the helper that is used for creating 'AJAX' links.
- _convertUrlKeys() protectedConverts the keys being used into the format set by options.paramType
- _hasPage() protectedDoes $model have $page in its range?
- _pagingLink() protectedProtected method for generating prev/next links
- beforeRender() publicBefore render callback. Overridden to merge passed args with URL options.
- counter() publicReturns a counter string for the paged result set
- current() publicGets the current page of the recordset for the given model
- defaultModel() publicGets or sets the default model of the paged sets
- first() publicReturns a first or set of numbers for the first pages.
- hasNext() publicReturns true if the given result set is not at the last page
- hasPage() publicReturns true if the given result set has the page number given by $page
- hasPrev() publicReturns true if the given result set is not at the first page
- last() publicReturns a last or set of numbers for the last pages.
- link() publicGenerates a plain or Ajax link with pagination parameters
- meta() publicReturns the meta-links for a paginated result set.
- next() publicGenerates 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() publicSets default options for all pagination links
- param() publicConvenience access to any of the paginator params.
- params() publicGets the current paging parameters from the resultset for the given model
- prev() publicGenerates 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() publicGets the current direction the recordset is sorted
- sortKey() publicGets the current key by which the recordset is sorted
- url() publicMerges passed URL options with current pagination state to generate a pagination URL.
Method Detail
__construct()source public
__construct( View $View , array $settings array() )
Constructor for the helper. Sets up the helper that is used for creating 'AJAX' links.
Use public $helpers = array('Paginator' => array('ajax' => 'CustomHelper'));
to set a custom Helper or choose a non JsHelper Helper. If you want to use a specific library with JsHelper declare JsHelper and its adapter before including PaginatorHelper in your helpers array.
The chosen custom helper must implement a link()
method.
Parameters
-
View
$View
- the view object the helper is attached to.
- array
$settings
optional array() - Array of settings.
Throws
CakeException
When the AjaxProvider helper does not implement a link method.
_convertUrlKeys()source protected
_convertUrlKeys( array $url , string $type )
Converts the keys being used into the format set by options.paramType
Parameters
- array
$url
- Array of URL params to convert
- string
$type
- Keys type.
Returns
arrayconverted URL params.
_hasPage()source protected
_hasPage( string $model , integer $page )
Does $model have $page in its range?
Parameters
- string
$model
- Model name to get parameters for.
- integer
$page
- Page number you are checking.
Returns
booleanWhether model has $page
_pagingLink()source protected
_pagingLink( string $which , string $title null , array $options array() , string $disabledTitle null , array $disabledOptions array() )
Protected method for generating prev/next links
Parameters
- string
$which
- Link type: 'Prev', 'Next'.
- string
$title
optional null - Link title.
- array
$options
optional array() - Options list.
- string
$disabledTitle
optional null - Disabled link title.
- array
$disabledOptions
optional array() - Disabled link options.
Returns
stringbeforeRender()source public
beforeRender( string $viewFile )
Before render callback. Overridden to merge passed args with URL options.
Parameters
- string
$viewFile
- View file name.
counter()source public
counter( array $options array() )
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. -
separator
The separator string to use, default to ' of '
The %page%
style placeholders also work, but are deprecated and will be removed in a future version.
Parameters
- array
$options
optional array() - Options for the counter string. See #options for list of keys.
Returns
stringCounter string.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::countercurrent()source public
current( string $model null )
Gets the current page of the recordset for the given model
Parameters
- string
$model
optional null - Optional model name. Uses the default if none is specified.
Returns
stringThe current page number of the recordset.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::currentdefaultModel()source public
defaultModel( string|null $model null )
Gets or sets the default model of the paged sets
Parameters
- string|null
$model
optional null - Model name to set
Returns
string|nullModel name or null if the pagination isn't initialized.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::defaultModelfirst()source public
first( string|integer $first '<< first' , array $options array() )
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:
-
tag
The tag wrapping tag you want to use, defaults to 'span' -
after
Content to insert after the link/tag -
model
The model to use defaults to PaginatorHelper::defaultModel() -
separator
Content between the generated links, defaults to ' | ' -
ellipsis
Content for ellipsis, defaults to '...'
Parameters
- string|integer
$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.
- array
$options
optional array() - An array of options.
Returns
stringNumbers string.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::firsthasNext()source public
hasNext( string $model null )
Returns true if the given result set is not at the last page
Parameters
- string
$model
optional null - Optional model name. Uses the default if none is specified.
Returns
booleanTrue if the result set is not at the last page.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::hasNexthasPage()source public
hasPage( string $model null , integer $page 1 )
Returns true if the given result set has the page number given by $page
Parameters
- string
$model
optional null - Optional model name. Uses the default if none is specified.
- integer
$page
optional 1 - The page number - if not set defaults to 1.
Returns
booleanTrue if the given result set has the specified page number.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::hasPagehasPrev()source public
hasPrev( string $model null )
Returns true if the given result set is not at the first page
Parameters
- string
$model
optional null - Optional model name. Uses the default if none is specified.
Returns
booleanTrue if the result set is not at the first page.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::hasPrevlast()source public
last( string|integer $last 'last >>' , array $options array() )
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:
-
tag
The tag wrapping tag you want to use, defaults to 'span' -
before
Content to insert before the link/tag -
model
The model to use defaults to PaginatorHelper::defaultModel() -
separator
Content between the generated links, defaults to ' | ' -
ellipsis
Content for ellipsis, defaults to '...'
Parameters
- string|integer
$last
optional 'last >>' - if string use as label for the link, if numeric print page numbers
- array
$options
optional array() - Array of options
Returns
stringNumbers string.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::lastlink()source public
link( string $title , string|array $url array() , array $options array() )
Generates a plain or Ajax link with pagination parameters
Options
-
update
The Id of the DOM element you wish to update. Creates Ajax enabled links with the AjaxHelper. -
escape
Whether you want the contents html entity encoded, defaults to true -
model
The model to use, defaults to PaginatorHelper::defaultModel()
Parameters
- string
$title
- Title for the link.
- string|array
$url
optional array() - URL for the action. See Router::url()
- array
$options
optional array() - Options for the link. See #options for list of keys.
Returns
stringA link with pagination parameters.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::linkmeta()source public
meta( array $options array() )
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(array('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/absent to return as a string
Parameters
- array
$options
optional array() - Array of options.
Returns
string|nullMeta links.
next()source public
next( string $title 'Next >>' , array $options array() , string $disabledTitle null , array $disabledOptions array() )
Generates a "next" link for a set of paged records
Options:
-
url
Allows sending routing parameters such as controllers, actions or passed arguments. -
tag
The tag wrapping tag you want to use, defaults to 'span'. Set this to false to disable this option -
escape
Whether you want the contents html entity encoded, defaults to true -
model
The model to use, defaults to PaginatorHelper::defaultModel() -
disabledTag
Tag to use instead of A tag when there is no next page
Parameters
- string
$title
optional 'Next >>' - Title for the link. Defaults to 'Next >>'.
- array
$options
optional array() - Options for pagination link. See above for list of keys.
- string
$disabledTitle
optional null - Title when the link is disabled.
- array
$disabledOptions
optional array() - Options for the disabled pagination link. See above for list of keys.
Returns
stringA "next" link or $disabledTitle text if the link is disabled.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::nextnumbers()source public
numbers( array|boolean $options 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).
$this->Paginator->numbers(array('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 -
after
Content to be inserted after the numbers -
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. -
separator
Separator content defaults to ' | ' -
tag
The tag to wrap links in, defaults to 'span' -
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. -
ellipsis
Ellipsis content, defaults to '...' -
class
Class for wrapper tag -
currentClass
Class for wrapper tag on current active page, defaults to 'current' -
currentTag
Tag to use for current page number, defaults to null
Parameters
- array|boolean
$options
optional array() - Options for the numbers, (before, after, model, modulus, separator)
Returns
stringNumbers string.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::numbersoptions()source public
options( array|string $options array() )
Sets default options for all pagination links
Parameters
- array|string
$options
optional array() Default options for pagination links. If a string is supplied - it is used as the DOM id element to update. See PaginatorHelper::$options for list of keys.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::optionsparam()source public
param( string $key , string $model null )
Convenience access to any of the paginator params.
Parameters
- string
$key
- Key of the paginator params array to retrieve.
- string
$model
optional null - Optional model name. Uses the default if none is specified.
Returns
mixedContent of the requested param.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::paramsparams()source public
params( string $model null )
Gets the current paging parameters from the resultset for the given model
Parameters
- string
$model
optional null - Optional model name. Uses the default if none is specified.
Returns
arrayThe array of paging parameters for the paginated resultset.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::paramsprev()source public
prev( string $title '<< Previous' , array $options array() , string $disabledTitle null , array $disabledOptions array() )
Generates a "previous" link for a set of paged records
Options:
-
url
Allows sending routing parameters such as controllers, actions or passed arguments. -
tag
The tag wrapping tag you want to use, defaults to 'span'. Set this to false to disable this option -
escape
Whether you want the contents html entity encoded, defaults to true -
model
The model to use, defaults to PaginatorHelper::defaultModel() -
disabledTag
Tag to use instead of A tag when there is no previous page
Parameters
- string
$title
optional '<< Previous' - Title for the link. Defaults to '<< Previous'.
- array
$options
optional array() - Options for pagination link. See #options for list of keys.
- string
$disabledTitle
optional null - Title when the link is disabled.
- array
$disabledOptions
optional array() - Options for the disabled pagination link. See #options for list of keys.
Returns
stringA "previous" link or $disabledTitle text if the link is disabled.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::prevsort()source public
sort( string $key , string $title null , array $options array() )
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
$title
optional null Title for the link. If $title is null $key will be used for the title and will be generated by inflection.
- array
$options
optional array() - Options for sorting link. See above for list of keys.
Returns
stringA link sorting default by 'asc'. If the resultset is sorted 'asc' by the specified key the returned link will sort by 'desc'.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::sortsortDir()source public
sortDir( string $model null , array $options array() )
Gets the current direction the recordset is sorted
Parameters
- string
$model
optional null - Optional model name. Uses the default if none is specified.
- array
$options
optional array() - Options for pagination links. See #options for list of keys.
Returns
stringThe direction by which the recordset is being sorted, or null if the results are not currently sorted.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::sortDirsortKey()source public
sortKey( string $model null , array $options array() )
Gets the current key by which the recordset is sorted
Parameters
- string
$model
optional null - Optional model name. Uses the default if none is specified.
- array
$options
optional array() - Options for pagination links. See #options for list of keys.
Returns
string|nullThe name of the key by which the recordset is being sorted, or null if the results are not currently sorted.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::sortKeyurl()source public
url( array $options array() , boolean $asArray false , string $model null )
Merges passed URL options with current pagination state to generate a pagination URL.
Parameters
- array
$options
optional array() - Pagination/URL options array
- boolean
$asArray
optional false - Return the URL as an array, or a URI string
- string
$model
optional null - Which model to paginate on
Returns
mixedBy default, returns a full pagination URL string for use in non-standard contexts (i.e. JavaScript)
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::urlProperties detail
$_ajaxHelperClasssource
protected string
The class used for 'Ajax' pagination links. Defaults to JsHelper. You should make sure that JsHelper is defined as a helper before PaginatorHelper, if you want to customize the JsHelper.
'Js'
$optionssource
public array
Holds the default options for pagination links
The values that may be specified are:
-
format
Format of the counter. Supported formats are 'range' and 'pages' and custom (default). In the default mode the supplied string is parsed and constants are replaced by their actual values. placeholders: %page%, %pages%, %current%, %count%, %start%, %end% . -
separator
The separator of the actual page and number of pages (default: ' of '). -
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). -
update
DOM id of the element updated with the results of the AJAX call. If this key isn't specified Paginator will use plain HTML links. -
paging['paramType']
The type of parameters to use when creating links. Valid options are 'querystring' and 'named'. See PaginatorComponent::$settings for more information. -
convertKeys
- A list of keys in URL arrays that should be converted to querysting params if paramType == 'querystring'.
array( 'convertKeys' => array('page', 'limit', 'sort', 'direction') )
Magic properties detail
$Htmlsource
public HtmlHelper
© 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/2.10/class-PaginatorHelper.html