Class PaginatorHelper
Pagination Helper class for easy generation of pagination links.
PaginationHelper encloses all methods needed when working with pagination.
- AppHelper
-
PaginatorHelper
Link: http://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html
Copyright: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
License: MIT License
Location: Cake/View/Helper/PaginatorHelper.php
Properties summary
-
$_ajaxHelperClassprotectedstringThe 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.
-
$helperspublicHelper dependenciesarray -
$optionspublicHolds the default options for pagination linksarray
Magic properties summary
-
$Htmlpublic
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 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
$settingsoptional array() - Array of settings.
Throws
CakeExceptionWhen 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
$titleoptional null - Link title.
- array
$optionsoptional array() - Options list.
- string
$disabledTitleoptional null - Disabled link title.
- array
$disabledOptionsoptional 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
-
modelThe model to use, defaults to PaginatorHelper::defaultModel(); -
formatThe 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. -
separatorThe 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
$optionsoptional array() - Options for the counter string. See #options for list of keys.
Returns
stringCounter string.
Link
http://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
$modeloptional null - Optional model name. Uses the default if none is specified.
Returns
stringThe current page number of the recordset.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::currentdefaultModel()source public
defaultModel( )
Gets the default model of the paged sets
Returns
string|nullModel name or null if the pagination isn't initialized.
Link
http://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:
-
tagThe tag wrapping tag you want to use, defaults to 'span' -
afterContent to insert after the link/tag -
modelThe model to use defaults to PaginatorHelper::defaultModel() -
separatorContent between the generated links, defaults to ' | ' -
ellipsisContent for ellipsis, defaults to '...'
Parameters
- string|integer
$firstoptional '<< 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
$optionsoptional array() - An array of options.
Returns
stringNumbers string.
Link
http://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
$modeloptional null - Optional model name. Uses the default if none is specified.
Returns
booleanTrue if the result set is not at the last page.
Link
http://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
$modeloptional null - Optional model name. Uses the default if none is specified.
- integer
$pageoptional 1 - The page number - if not set defaults to 1.
Returns
booleanTrue if the given result set has the specified page number.
Link
http://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
$modeloptional null - Optional model name. Uses the default if none is specified.
Returns
booleanTrue if the result set is not at the first page.
Link
http://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:
-
tagThe tag wrapping tag you want to use, defaults to 'span' -
beforeContent to insert before the link/tag -
modelThe model to use defaults to PaginatorHelper::defaultModel() -
separatorContent between the generated links, defaults to ' | ' -
ellipsisContent for ellipsis, defaults to '...'
Parameters
- string|integer
$lastoptional 'last >>' - if string use as label for the link, if numeric print page numbers
- array
$optionsoptional array() - Array of options
Returns
stringNumbers string.
Link
http://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
-
updateThe Id of the DOM element you wish to update. Creates Ajax enabled links with the AjaxHelper. -
escapeWhether you want the contents html entity encoded, defaults to true -
modelThe model to use, defaults to PaginatorHelper::defaultModel()
Parameters
- string
$title - Title for the link.
- string|array
$urloptional array() - URL for the action. See Router::url()
- array
$optionsoptional array() - Options for the link. See #options for list of keys.
Returns
stringA link with pagination parameters.
Link
http://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:
-
modelThe model to use defaults to PaginatorHelper::defaultModel() -
blockThe block name to append the output to, or false/absent to return as a string
Parameters
- array
$optionsoptional 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:
-
urlAllows sending routing parameters such as controllers, actions or passed arguments. -
tagThe tag wrapping tag you want to use, defaults to 'span'. Set this to false to disable this option -
escapeWhether you want the contents html entity encoded, defaults to true -
modelThe model to use, defaults to PaginatorHelper::defaultModel() -
disabledTagTag to use instead of A tag when there is no next page
Parameters
- string
$titleoptional 'Next >>' - Title for the link. Defaults to 'Next >>'.
- array
$optionsoptional array() - Options for pagination link. See above for list of keys.
- string
$disabledTitleoptional null - Title when the link is disabled.
- array
$disabledOptionsoptional 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
http://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
-
beforeContent to be inserted before the numbers -
afterContent to be inserted after the numbers -
modelModel to create numbers for, defaults to PaginatorHelper::defaultModel() -
modulushow many numbers to include on either side of the current page, defaults to 8. -
separatorSeparator content defaults to ' | ' -
tagThe tag to wrap links in, defaults to 'span' -
firstWhether 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. -
lastWhether 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. -
ellipsisEllipsis content, defaults to '...' -
classClass for wrapper tag -
currentClassClass for wrapper tag on current active page, defaults to 'current' -
currentTagTag to use for current page number, defaults to null
Parameters
- array|boolean
$optionsoptional array() - Options for the numbers, (before, after, model, modulus, separator)
Returns
stringNumbers string.
Link
http://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
$optionsoptional 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
http://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
$modeloptional null - Optional model name. Uses the default if none is specified.
Returns
mixedContent of the requested param.
Link
http://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
$modeloptional null - Optional model name. Uses the default if none is specified.
Returns
arrayThe array of paging parameters for the paginated resultset.
Link
http://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:
-
urlAllows sending routing parameters such as controllers, actions or passed arguments. -
tagThe tag wrapping tag you want to use, defaults to 'span'. Set this to false to disable this option -
escapeWhether you want the contents html entity encoded, defaults to true -
modelThe model to use, defaults to PaginatorHelper::defaultModel() -
disabledTagTag to use instead of A tag when there is no previous page
Parameters
- string
$titleoptional '<< Previous' - Title for the link. Defaults to '<< Previous'.
- array
$optionsoptional array() - Options for pagination link. See #options for list of keys.
- string
$disabledTitleoptional null - Title when the link is disabled.
- array
$disabledOptionsoptional 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
http://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:
-
escapeWhether you want the contents html entity encoded, defaults to true. -
modelThe model to use, defaults to PaginatorHelper::defaultModel(). -
directionThe default direction to use when this link isn't active. -
lockLock 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
$titleoptional null Title for the link. If $title is null $key will be used for the title and will be generated by inflection.
- array
$optionsoptional 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
http://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
$modeloptional null - Optional model name. Uses the default if none is specified.
- array
$optionsoptional 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
http://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
$modeloptional null - Optional model name. Uses the default if none is specified.
- array
$optionsoptional 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
http://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
$optionsoptional array() - Pagination/URL options array
- boolean
$asArrayoptional false - Return the URL as an array, or a URI string
- string
$modeloptional 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
http://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:
-
formatFormat 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% . -
separatorThe separator of the actual page and number of pages (default: ' of '). -
urlUrl 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. -
modelThe name of the model. -
escapeDefines if the title field for the link should be escaped (default: true). -
updateDOM 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–2016 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.9/class-PaginatorHelper.html