Actions

API15

JPagination/getPagesLinks

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

Create and return the pagination page list string, ie. Previous, Next, 1 2 3 ... x

[<! removed edit link to red link >]

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

Syntax

getPagesLinks()


Returns

string Pagination page list string

Defined in

libraries/joomla/html/pagination.php

Importing

jimport( 'joomla.html.pagination' );

Source Body

function getPagesLinks()
{
        global $mainframe;
 
        $lang =& JFactory::getLanguage();
 
        // Build the page navigation list
        $data = $this->_buildDataObject();
 
        $list = array();
 
        $itemOverride = false;
        $listOverride = false;
 
        $chromePath = JPATH_THEMES.DS.$mainframe->getTemplate().DS.'html'.DS.'pagination.php';
        if (file_exists($chromePath))
        {
                require_once ($chromePath);
                if (function_exists('pagination_item_active') && function_exists('pagination_item_inactive')) {
                        $itemOverride = true;
                }
                if (function_exists('pagination_list_render')) {
                        $listOverride = true;
                }
        }
 
        // Build the select list
        if ($data->all->base !== null) {
                $list['all']['active'] = true;
                $list['all']['data'] = ($itemOverride) ? pagination_item_active($data->all) : $this->_item_active($data->all);
        } else {
                $list['all']['active'] = false;
                $list['all']['data'] = ($itemOverride) ? pagination_item_inactive($data->all) : $this->_item_inactive($data->all);
        }
 
        if ($data->start->base !== null) {
                $list['start']['active'] = true;
                $list['start']['data'] = ($itemOverride) ? pagination_item_active($data->start) : $this->_item_active($data->start);
        } else {
                $list['start']['active'] = false;
                $list['start']['data'] = ($itemOverride) ? pagination_item_inactive($data->start) : $this->_item_inactive($data->start);
        }
        if ($data->previous->base !== null) {
                $list['previous']['active'] = true;
                $list['previous']['data'] = ($itemOverride) ? pagination_item_active($data->previous) : $this->_item_active($data->previous);
        } else {
                $list['previous']['active'] = false;
                $list['previous']['data'] = ($itemOverride) ? pagination_item_inactive($data->previous) : $this->_item_inactive($data->previous);
        }
 
        $list['pages'] = array(); //make sure it exists
        foreach ($data->pages as $i => $page)
        {
                if ($page->base !== null) {
                        $list['pages'][$i]['active'] = true;
                        $list['pages'][$i]['data'] = ($itemOverride) ? pagination_item_active($page) : $this->_item_active($page);
                } else {
                        $list['pages'][$i]['active'] = false;
                        $list['pages'][$i]['data'] = ($itemOverride) ? pagination_item_inactive($page) : $this->_item_inactive($page);
                }
        }
 
        if ($data->next->base !== null) {
                $list['next']['active'] = true;
                $list['next']['data'] = ($itemOverride) ? pagination_item_active($data->next) : $this->_item_active($data->next);
        } else {
                $list['next']['active'] = false;
                $list['next']['data'] = ($itemOverride) ? pagination_item_inactive($data->next) : $this->_item_inactive($data->next);
        }
        if ($data->end->base !== null) {
                $list['end']['active'] = true;
                $list['end']['data'] = ($itemOverride) ? pagination_item_active($data->end) : $this->_item_active($data->end);
        } else {
                $list['end']['active'] = false;
                $list['end']['data'] = ($itemOverride) ? pagination_item_inactive($data->end) : $this->_item_inactive($data->end);
        }
 
        if($this->total > $this->limit){
                return ($listOverride) ? pagination_list_render($list) : $this->_list_render($list);
        }
        else{
                return '';
        }
}

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

Examples

<CodeExamplesForm />