Package | system.web |
---|---|
Inheritance | class CPagination » CComponent |
Since | 1.0 |
Version | $Id$ |
Source Code | framework/web/CPagination.php |
Property | Type | Description | Defined By |
---|---|---|---|
currentPage | integer | the zero-based index of the current page. | CPagination |
itemCount | integer | total number of items. | CPagination |
pageCount | integer | number of pages | CPagination |
pageSize | integer | number of items in each page. | CPagination |
pageVar | string | name of the GET variable storing the current page index. | CPagination |
params | array | the additional GET parameters (name=>value) that should be used when generating pagination URLs. | CPagination |
route | string | the route (controller ID and action ID) for displaying the paged contents. | CPagination |
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | CComponent |
__construct() | Constructor. | CPagination |
__get() | Returns a property value, an event handler list or a behavior based on its name. | CComponent |
__isset() | Checks if a property value is null. | CComponent |
__set() | Sets value of a component property. | CComponent |
__unset() | Sets a component property to be null. | CComponent |
applyLimit() | Applies LIMIT and OFFSET to the specified query criteria. | CPagination |
asa() | Returns the named behavior object. | CComponent |
attachBehavior() | Attaches a behavior to this component. | CComponent |
attachBehaviors() | Attaches a list of behaviors to the component. | CComponent |
attachEventHandler() | Attaches an event handler to an event. | CComponent |
canGetProperty() | Determines whether a property can be read. | CComponent |
canSetProperty() | Determines whether a property can be set. | CComponent |
createPageUrl() | Creates the URL suitable for pagination. | CPagination |
detachBehavior() | Detaches a behavior from the component. | CComponent |
detachBehaviors() | Detaches all behaviors from the component. | CComponent |
detachEventHandler() | Detaches an existing event handler. | CComponent |
disableBehavior() | Disables an attached behavior. | CComponent |
disableBehaviors() | Disables all behaviors attached to this component. | CComponent |
enableBehavior() | Enables an attached behavior. | CComponent |
enableBehaviors() | Enables all behaviors attached to this component. | CComponent |
getCurrentPage() | Returns the zero-based index of the current page. Defaults to 0. | CPagination |
getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent |
getItemCount() | Returns total number of items. Defaults to 0. | CPagination |
getPageCount() | Returns number of pages | CPagination |
getPageSize() | Returns number of items in each page. Defaults to 10. | CPagination |
hasEvent() | Determines whether an event is defined. | CComponent |
hasEventHandler() | Checks whether the named event has attached handlers. | CComponent |
hasProperty() | Determines whether a property is defined. | CComponent |
raiseEvent() | Raises an event. | CComponent |
setCurrentPage() | Sets the zero-based index of the current page. | CPagination |
setItemCount() | Sets total number of items. | CPagination |
setPageSize() | Sets number of items in each page | CPagination |
the zero-based index of the current page. Defaults to 0.
total number of items. Defaults to 0.
number of pages
number of items in each page. Defaults to 10.
name of the GET variable storing the current page index. Defaults to 'page'.
the additional GET parameters (name=>value) that should be used when generating pagination URLs. Defaults to null, meaning using the currently available GET parameters.
the route (controller ID and action ID) for displaying the paged contents. Defaults to empty string, meaning using the current route.
public void __construct(integer $itemCount=0)
| ||
$itemCount | integer | total number of items. |
public function __construct($itemCount=0)
{
$this->setItemCount($itemCount);
}
Constructor.
public void applyLimit(CDbCriteria $criteria)
| ||
$criteria | CDbCriteria | the query criteria that should be applied with the limit |
public function applyLimit($criteria)
{
$criteria->limit=$this->pageSize;
$criteria->offset=$this->currentPage*$this->pageSize;
}
Applies LIMIT and OFFSET to the specified query criteria.
public string createPageUrl(CController $controller, integer $page)
| ||
$controller | CController | the controller that will create the actual URL |
$page | integer | the page that the URL should point to. This is a zero-based index. |
{return} | string | the created URL |
public function createPageUrl($controller,$page)
{
$params=$this->params===null ? $_GET : $this->params;
if($page>0) // page 0 is the default
$params[$this->pageVar]=$page+1;
else
unset($params[$this->pageVar]);
return $controller->createUrl($this->route,$params);
}
Creates the URL suitable for pagination. This method is mainly called by pagers when creating URLs used to perform pagination. The default implementation is to call the controller's createUrl method with the page information. You may override this method if your URL scheme is not the same as the one supported by the controller's createUrl method.
public integer getCurrentPage(boolean $recalculate=true)
| ||
$recalculate | boolean | whether to recalculate the current page based on the page size and item count. |
{return} | integer | the zero-based index of the current page. Defaults to 0. |
public function getCurrentPage($recalculate=true)
{
if($this->_currentPage===null || $recalculate)
{
if(isset($_GET[$this->pageVar]))
{
$this->_currentPage=(int)$_GET[$this->pageVar]-1;
$pageCount=$this->getPageCount();
if($this->_currentPage>=$pageCount)
$this->_currentPage=$pageCount-1;
if($this->_currentPage<0)
$this->_currentPage=0;
}
else
$this->_currentPage=0;
}
return $this->_currentPage;
}
public integer getItemCount()
| ||
{return} | integer | total number of items. Defaults to 0. |
public function getItemCount()
{
return $this->_itemCount;
}
public integer getPageCount()
| ||
{return} | integer | number of pages |
public function getPageCount()
{
return (int)(($this->_itemCount+$this->_pageSize-1)/$this->_pageSize);
}
public integer getPageSize()
| ||
{return} | integer | number of items in each page. Defaults to 10. |
public function getPageSize()
{
return $this->_pageSize;
}
public void setCurrentPage(integer $value)
| ||
$value | integer | the zero-based index of the current page. |
public function setCurrentPage($value)
{
$this->_currentPage=$value;
$_GET[$this->pageVar]=$value+1;
}
public void setItemCount(integer $value)
| ||
$value | integer | total number of items. |
public function setItemCount($value)
{
if(($this->_itemCount=$value)<0)
$this->_itemCount=0;
}
public void setPageSize(integer $value)
| ||
$value | integer | number of items in each page |
public function setPageSize($value)
{
if(($this->_pageSize=$value)<=0)
$this->_pageSize=self::DEFAULT_PAGE_SIZE;
}
Signup or Login in order to comment.