Class PaginatorHelper
Pagination Helper class for easy generation of pagination links.
PaginationHelper encloses all methods needed when working with pagination.
- Object
- Overloadable
- Helper
- AppHelper
- PaginatorHelper
Link: http://book.cakephp.org/1.3/en/The-Manual/Core-Helpers/Paginator.html#Paginator
Copyright: Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: view/helpers/paginator.php
Properties summary
-
$__defaultModel
publicstring
Holds the default model for paged recordsets -
$_ajaxHelperClass
publicstring
The class used for 'Ajax' pagination links. -
$helpers
publicarray
Helper dependencies -
$options
publicarray
Holds the default options for pagination links
Inherited Properties
Method Summary
-
__construct() public
Constructor for the helper. Sets up the helper that is used for creating 'AJAX' links. -
__hasPage() public
Does $model have $page in its range? -
__pagingLink() public
Protected method for generating prev/next links -
beforeRender() public
Before render callback. Overridden to merge passed args with url options. -
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
__construct() public ¶
__construct( $config = array() )
Constructor for the helper. Sets up the helper that is used for creating 'AJAX' links.
Use var $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.
Overrides
__hasPage() public ¶
__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
Whether model has $page
__pagingLink() public ¶
__pagingLink( $which , $title = null , $options = array() , $disabledTitle = null , $disabledOptions = array() )
Protected method for generating prev/next links
beforeRender() public ¶
beforeRender( )
Before render callback. Overridden to merge passed args with url options.
Overrides
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'after
Content to insert after 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 PaginatorHelper::$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)
Overrides
Methods inherited from Helper
__formatAttribute() public ¶
__formatAttribute( string $key , string $value , $escape = true )
Formats an individual attribute, and returns the string value of the composed attribute. Works with minimized attributes that have the same value as their name such as 'disabled' and 'checked'
Parameters
- string $key
- The name of the attribute to create
- string $value
- The value of the attribute to create.
- $escape optional true
Returns
The composed attribute.
__selectedArray() public ¶
__selectedArray( mixed $data , string $key = 'id' )
Transforms a recordset from a hasAndBelongsToMany association to a list of selected options for a multiple select element
Parameters
- mixed $data
- string $key optional 'id'
Returns
_initInputField() public ¶
_initInputField( string $field , array $options = array() )
Sets the defaults for an input tag. Will set the name, value, and id attributes for an array of html attributes. Will also add a 'form-error' class if the field contains validation errors.
Parameters
- string $field
- The field name to initialize.
- array $options optional array()
- Array of options to use while initializing an input field.
Returns
Array options for the form input.
_name() public ¶
_name( mixed $options = array() , string $field = null , string $key = 'name' )
Gets the input field name for the current tag. Creates input name attributes using CakePHP's data[Model][field] formatting.
Parameters
- mixed $options optional array()
If an array, should be an array of attributes that $key needs to be added to. If a string or null, will be used as the View entity.
- string $field optional null
- string $key optional 'name'
- The name of the attribute to be set, defaults to 'name'
Returns
If an array was given for $options, an array with $key set will be returned. If a string was supplied a string will be returned.
_parseAttributes() public ¶
_parseAttributes( array $options , array $exclude = null , string $insertBefore = ' ' , string $insertAfter = null )
Returns a space-delimited string with items of the $options array. If a key of $options array happens to be one of:
- 'compact'
- 'checked'
- 'declare'
- 'readonly'
- 'disabled'
- 'selected'
- 'defer'
- 'ismap'
- 'nohref'
- 'noshade'
- 'nowrap'
- 'multiple'
- 'noresize'
And its value is one of:
- '1' (string)
- 1 (integer)
- true (boolean)
- 'true' (string)
Then the value will be reset to be identical with key's name. If the value is not one of these 3, the parameter is not output.
'escape' is a special option in that it controls the conversion of attributes to their html-entity encoded equivalents. Set to false to disable html-encoding.
If value for any option key is set to null
or false
, that option will be excluded from output.
Parameters
- array $options
- Array of options.
- array $exclude optional null
- Array of options to be excluded, the options here will not be part of the return.
- string $insertBefore optional ' '
- String to be inserted before options.
- string $insertAfter optional null
- String to be inserted after options.
Returns
Composed attributes.
addClass() public ¶
addClass( array $options = array() , string $class = null , string $key = 'class' )
Adds the given class to the element options
Parameters
- array $options optional array()
- Array options/attributes to add a class to
- string $class optional null
- The classname being added.
- string $key optional 'class'
- the key to use for class.
Returns
Array of options with $key set.
afterLayout() public ¶
afterLayout( )
After layout callback. afterLayout is called after the layout has rendered.
Overridden in subclasses.
afterRender() public ¶
afterRender( )
After render callback. afterRender is called after the view file is rendered but before the layout has been rendered.
Overridden in subclasses.
assetTimestamp() public ¶
assetTimestamp( string $path )
Adds a timestamp to a file based resource based on the value of Asset.timestamp
in
Configure. If Asset.timestamp is true and debug > 0, or Asset.timestamp == 'force'
a timestamp will be added.
Parameters
- string $path
- The file path to timestamp, the path must be inside WWW_ROOT
Returns
Path with a timestamp added, or not.
beforeLayout() public ¶
beforeLayout( )
Before layout callback. beforeLayout is called before the layout is rendered.
Overridden in subclasses.
clean() public ¶
clean( mixed $output )
Used to remove harmful tags from content. Removes a number of well known XSS attacks from content. However, is not guaranteed to remove all possiblities. Escaping content is the best way to prevent all possible attacks.
Parameters
- mixed $output
- Either an array of strings to clean or a single string to clean.
Returns
content for output
domId() public ¶
domId( mixed $options = null , string $id = 'id' )
Generates a DOM ID for the selected element, if one is not set. Uses the current View::entity() settings to generate a CamelCased id attribute.
Parameters
- mixed $options optional null
Either an array of html attributes to add $id into, or a string with a view entity path to get a domId for.
- string $id optional 'id'
- The name of the 'id' attribute.
Returns
If $options was an array, an array will be returned with $id set. If a string was supplied, a string will be returned.
field() public ¶
field( )
Gets the currently-used model field of the rendering context.
Returns
loadConfig() public ¶
loadConfig( $name = 'tags' )
Parses tag templates into $this->tags.
Parameters
- $name optional 'tags'
- name inside app/config to load.
Returns
merged tags from config/$name.php
modelID() public ¶
modelID( )
Gets the ID of the currently-used model of the rendering context.
Returns
output() public deprecated ¶
output( string $str )
Returns a string generated by a helper method
This method can be overridden in subclasses to do generalized output post-processing
Deprecated
Parameters
- string $str
- String to be output.
Returns
setEntity() public ¶
setEntity( mixed $entity , boolean $setScope = false )
Sets this helper's model and field properties to the dot-separated value-pair in $entity.
Parameters
- mixed $entity
- A field name, like "ModelName.fieldName" or "ModelName.ID.fieldName"
- boolean $setScope optional false
- Sets the view scope to the model specified in $tagValue
tagIsInvalid() public ¶
tagIsInvalid( string $model = null , string $field = null , integer $modelID = null )
Returns null if given FORM field has no errors. Otherwise it returns the constant set in the array Model->validationErrors.
Parameters
- string $model optional null
- Model name as a string
- string $field optional null
- Fieldname as a string
- integer $modelID optional null
- Unique index identifying this record within the form
Returns
Null if no errors, string with error otherwhise.
value() public ¶
value( mixed $options = array() , string $field = null , string $key = 'value' )
Gets the data for the current tag
Parameters
- mixed $options optional array()
If an array, should be an array of attributes that $key needs to be added to. If a string or null, will be used as the View entity.
- string $field optional null
- string $key optional 'value'
- The name of the attribute to be set, defaults to 'value'
Returns
If an array was given for $options, an array with $key set will be returned. If a string was supplied a string will be returned.
Methods inherited from Overloadable
Methods inherited from Object
Object() public ¶
Object( )
A hack to support __construct() on PHP 4 Hint: descendant classes have no PHP4 class_name() constructors, so this constructor gets called first and calls the top-layer __construct() which (if present) should call parent::__construct()
Returns
__openPersistent() public ¶
__openPersistent( string $name , string $type = null )
Open the persistent class file for reading Used by Object::_persist()
Parameters
- string $name
- Name of persisted class
- string $type optional null
- Type of persistance (e.g: registry)
_persist() public ¶
_persist( string $name , string $return , $object , $type = null )
Checks for a persistent class file, if found file is opened and true returned If file is not found a file is created and false returned If used in other locations of the model you should choose a unique name for the persistent file There are many uses for this method, see manual for examples
Parameters
- string $name
- name of the class to persist
- string $return
- $object the object to persist
- $object
- $type optional null
Returns
Success
_savePersistent() public ¶
_savePersistent( string $name , object $object )
You should choose a unique name for the persistent file
There are many uses for this method, see manual for examples
Parameters
- string $name
- name used for object to cache
- object $object
- the object to persist
Returns
true on save, throws error if file can not be created
_set() public ¶
_set( array $properties = array() )
Allows setting of multiple properties of the object in a single line of code. Will only set properties that are part of a class declaration.
Parameters
- array $properties optional array()
- An associative array containing properties and corresponding values.
_stop() public ¶
_stop( $status = 0 )
Stop execution of the current script. Wraps exit() making testing easier.
Parameters
- $status optional 0
- http://php.net/exit for values
cakeError() public ¶
cakeError( string $method , array $messages = array() )
Used to report user friendly errors. If there is a file app/error.php or app/app_error.php this file will be loaded error.php is the AppError class it should extend ErrorHandler class.
Parameters
- string $method
- Method to be called in the error class (AppError or ErrorHandler classes)
- array $messages optional array()
- Message that is to be displayed by the error class
Returns
message
dispatchMethod() public ¶
dispatchMethod( string $method , array $params = array() )
Calls a method on this object with the given parameters. Provides an OO wrapper
for call_user_func_array
Parameters
- string $method
- Name of the method to call
- array $params optional array()
- Parameter list to use when calling $method
Returns
Returns the result of the method call
log() public ¶
log( string $msg , integer $type = LOG_ERROR )
Convience method to write a message to CakeLog. See CakeLog::write() for more information on writing to logs.
Parameters
- string $msg
- Log message
- integer $type optional LOG_ERROR
- Error type constant. Defined in app/config/core.php.
Returns
Success of log write
requestAction() public ¶
requestAction( mixed $url , array $extra = array() )
Calls a controller's method from any location. Can be used to connect controllers together or tie plugins into a main application. requestAction can be used to return rendered views or fetch the return value from controller actions.
Parameters
- mixed $url
- String or array-based url.
- array $extra optional array()
- if array includes the key "return" it sets the AutoRender to true.
Returns
Boolean true or false on success/failure, or contents of rendered action if 'return' is set in $extra.
toString() public ¶
toString( )
Object-to-string conversion. Each class can override this method as necessary.
Returns
The name of this class
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. Only supported by AjaxHelper
array()