Class PaginatorHelper
Pagination Helper class for easy generation of pagination links.
PaginationHelper encloses all methods needed when working with pagination.
- AppHelper
- PaginatorHelper
Copyright: Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: The MIT License
Location: view/helpers/paginator.php
Properties summary
-
$__defaultModel
publicstring
Holds the default model for paged recordsets -
$helpers
publicarray
Helper dependencies -
$options
publicarray
Holds the default options for pagination links
Method Summary
-
__hasPage() public
Protected method -
__pagingLink() public
Protected method for generating prev/next links -
counter() public
Returns a counter string for the paged result set -
current() public
Gets the current page of the recordset for the given model -
defaultModel() public
Gets the default model of the paged sets -
first() public
Returns a first or set of numbers for the first pages -
hasNext() public
Returns true if the given result set is not at the last page -
hasPage() public
Returns true if the given result set has the page number given by $page -
hasPrev() public
Returns true if the given result set is not at the first page -
last() public
Returns a last or set of numbers for the last pages -
link() public
Generates a plain or Ajax link with pagination parameters -
next() public
Generates 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() public
Sets default options for all pagination links -
params() public
Gets the current paging parameters from the resultset for the given model -
prev() public
Generates 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() public
Gets the current direction the recordset is sorted -
sortKey() public
Gets the current key by which the recordset is sorted -
url() public
Merges passed URL options with current pagination state to generate a pagination URL.
Method Detail
__pagingLink() public ¶
__pagingLink( $which , $title = null , $options = array() , $disabledTitle = null , $disabledOptions = array() )
Protected method for generating prev/next links
counter() public ¶
counter( mixed $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%
,%start%
,%end%
and any custom content you would like.separator
The separator string to use, default to ' of '
Parameters
- mixed $options optional array()
- Options for the counter string. See #options for list of keys.
Returns
Counter string.
current() 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
The current page number of the recordset.
defaultModel() public ¶
defaultModel( )
Gets the default model of the paged sets
Returns
Model name or null if the pagination isn't initialized.
first() public ¶
first( mixed $first = '<< first' , mixed $options = array() )
Returns a first or set of numbers for the first pages
Options:
tag
The tag wrapping tag you want to use, defaults to 'span'before
Content to insert before the link/tagmodel
The model to use defaults to PaginatorHelper::defaultModel()separator
Content between the generated links, defaults to ' | '
Parameters
- mixed $first optional '<< first'
- if string use as label for the link, if numeric print page numbers
- mixed $options optional array()
Returns
numbers string.
hasNext() 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
True if the result set is not at the last page.
hasPage() 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
True if the given result set has the specified page number.
hasPrev() 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
True if the result set is not at the first page.
last() public ¶
last( mixed $last = 'last >>' , mixed $options = array() )
Returns a last or set of numbers for the last pages
Options:
tag
The tag wrapping tag you want to use, defaults to 'span'before
Content to insert before the link/tagmodel
The model to use defaults to PaginatorHelper::defaultModel()separator
Content between the generated links, defaults to ' | '
Parameters
- mixed $last optional 'last >>'
- if string use as label for the link, if numeric print page numbers
- mixed $options optional array()
- Array of options
Returns
numbers string.
link() public ¶
link( string $title , mixed $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 truemodel
The model to use, defaults to PaginatorHelper::defaultModel()
Parameters
- string $title
- Title for the link.
- mixed $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
A link with pagination parameters.
next() public ¶
next( string $title = 'Next >>' , mixed $options = array() , string $disabledTitle = null , mixed $disabledOptions = array() )
Generates a "next" link for a set of paged records
Options:
tag
The tag wrapping tag you want to use, defaults to 'span'escape
Whether you want the contents html entity encoded, defaults to truemodel
The model to use, defaults to PaginatorHelper::defaultModel()
Parameters
- string $title optional 'Next >>'
- Title for the link. Defaults to 'Next >>'.
- mixed $options optional array()
- Options for pagination link. See above for list of keys.
- string $disabledTitle optional null
- Title when the link is disabled.
- mixed $disabledOptions optional array()
- Options for the disabled pagination link. See above for list of keys.
Returns
A "next" link or or $disabledTitle text if the link is disabled.
numbers() public ¶
numbers( mixed $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)
Options
before
Content to be inserted before the numbersafter
Content to be inserted after the numbersmodel
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 generatelast
Whether you want last links generated, set to an integer to define the number of 'last' links to generate
Parameters
- mixed $options optional array()
- Options for the numbers, (before, after, model, modulus, separator)
Returns
numbers string.
options() public ¶
options( mixed $options = array() )
Sets default options for all pagination links
Parameters
- mixed $options optional array()
Default options for pagination links. If a string is supplied - it is used as the DOM id element to update. See #options for list of keys.
params() 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
The array of paging parameters for the paginated resultset.
prev() public ¶
prev( string $title = '<< Previous' , mixed $options = array() , string $disabledTitle = null , mixed $disabledOptions = array() )
Generates a "previous" link for a set of paged records
Options:
tag
The tag wrapping tag you want to use, defaults to 'span'escape
Whether you want the contents html entity encoded, defaults to truemodel
The model to use, defaults to PaginatorHelper::defaultModel()
Parameters
- string $title optional '<< Previous'
- Title for the link. Defaults to '<< Previous'.
- mixed $options optional array()
- Options for pagination link. See #options for list of keys.
- string $disabledTitle optional null
- Title when the link is disabled.
- mixed $disabledOptions optional array()
- Options for the disabled pagination link. See #options for list of keys.
Returns
A "previous" link or $disabledTitle text if the link is disabled.
sort() public ¶
sort( string $title , string $key = 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 truemodel
The model to use, defaults to PaginatorHelper::defaultModel()
Parameters
- string $title
- Title for the link.
- string $key optional null
The name of the key that the recordset should be sorted. If $key is null $title will be used for the key, and a title will be generated by inflection.
- array $options optional array()
- Options for sorting link. See above for list of keys.
Returns
A link sorting default by 'asc'. If the resultset is sorted 'asc' by the specified key the returned link will sort by 'desc'.
sortDir() public ¶
sortDir( string $model = null , mixed $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.
- mixed $options optional array()
- Options for pagination links. See #options for list of keys.
Returns
The direction by which the recordset is being sorted, or null if the results are not currently sorted.
sortKey() public ¶
sortKey( string $model = null , mixed $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.
- mixed $options optional array()
- Options for pagination links. See #options for list of keys.
Returns
The name of the key by which the recordset is being sorted, or null if the results are not currently sorted.
url() 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
By default, returns a full pagination URL string for use in non-standard contexts (i.e. JavaScript)
Properties detail
$options ¶
Holds the default options for pagination links
The values that may be specified are:
$options['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. Constants: %page%, %pages%, %current%, %count%, %start%, %end% .$options['separator']
The separator of the actual page and number of pages (default: ' of ').$options['url']
Url of the action. See Router::url()$options['url']['sort']
the key that the recordset is sorted.$options['url']['direction']
Direction of the sorting (default: 'asc').$options['url']['page']
Page # to display.$options['model']
The name of the model.$options['escape']
Defines if the title field for the link should be escaped (default: true).$options['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.$options['indicator']
DOM id of the element that will be shown when doing AJAX requests.
array()