Actions

API15

JPagination/ construct

From Joomla! Documentation

< API15:JPagination
Revision as of 13:39, 12 May 2013 by JoomlaWikiBot (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Replacement filing cabinet.png
This Namespace has been archived - Please Do Not Edit or Create Pages in this namespace. Pages contain information for a Joomla! version which is no longer supported. It exists only as a historical reference, will not be improved and its content may be incomplete.

Contents

Description

Constructor

[<! removed edit link to red link >]

<! removed transcluded page call, red link never existed >

Syntax

__construct($total, $limitstart, $limit)
Parameter Name Default Value Description
$total The total number of items
$limitstart The offset of the item to start at
$limit The number of items to display per page

Defined in

libraries/joomla/html/pagination.php

Importing

jimport( 'joomla.html.pagination' );

Source Body

function __construct($total, $limitstart, $limit)
{
        // Value/Type checking
        $this->total            = (int) $total;
        $this->limitstart       = (int) max($limitstart, 0);
        $this->limit            = (int) max($limit, 0);
 
        if ($this->limit > $this->total) {
                $this->limitstart = 0;
        }
 
        if (!$this->limit)
        {
                $this->limit = $total;
                $this->limitstart = 0;
        }
 
        if ($this->limitstart > $this->total) {
                $this->limitstart -= $this->limitstart % $this->limit;
        }
 
        // Set the total pages and current page values
        if($this->limit > 0)
        {
                $this->set( 'pages.total', ceil($this->total / $this->limit));
                $this->set( 'pages.current', ceil(($this->limitstart + 1) / $this->limit));
        }
 
        // Set the pagination iteration loop values
        $displayedPages = 10;
        $this->set( 'pages.start', (floor(($this->get('pages.current') -1) / $displayedPages)) * $displayedPages +1);
        if ($this->get('pages.start') + $displayedPages -1 < $this->get('pages.total')) {
                $this->set( 'pages.stop', $this->get('pages.start') + $displayedPages -1);
        } else {
                $this->set( 'pages.stop', $this->get('pages.total'));
        }
 
        // If we are viewing all records set the view all flag to true
        if ($this->limit == $total) {
                $this->_viewall = true;
        }
}

[<! removed edit link to red link >] <! removed transcluded page call, red link never existed >

Examples

<CodeExamplesForm />