Difference between revisions of "JPagination"
From Joomla! Documentation
m (preparing for archive only) |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 8: | Line 8: | ||
Descripton]]<nowiki>]</nowiki> | Descripton]]<nowiki>]</nowiki> | ||
</span> | </span> | ||
− | + | The [[JPagination]] class supports pagination of lists of items across multiple pages. It can be used in both the front-end and back-end, although there are slight differences in behaviour. The HTML output can be overridden using a template layout override. | |
===Defined in=== | ===Defined in=== | ||
Line 52: | Line 52: | ||
<source lang="php">jimport( 'joomla.html.pagination' );</source> | <source lang="php">jimport( 'joomla.html.pagination' );</source> | ||
− | + | ||
− | + | == See also == | |
+ | * [http://api.joomla.org/Joomla-Framework/HTML/JPagination.html JPagination on api.joomla.org] | ||
===Examples=== | ===Examples=== | ||
− | + | === Code Examples === | |
− | <dpl> | + | ´<dpl> |
+ | noresultsheader=\n | ||
category=JPagination | category=JPagination | ||
− | + | namespace=CodeExample | |
category=ClassExample | category=ClassExample | ||
+ | include=* | ||
+ | format= ,,, | ||
</dpl> | </dpl> |
Latest revision as of 20:00, 24 March 2017
The "API15" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.
[
Edit Descripton] The JPagination class supports pagination of lists of items across multiple pages. It can be used in both the front-end and back-end, although there are slight differences in behaviour. The HTML output can be overridden using a template layout override.
Defined in[edit]
libraries/joomla/html/pagination.php
Methods[edit]
Method name | Description |
---|---|
__construct | Constructor |
getRowOffset | Return the rationalised offset for a row with a given index. |
getData | Return the pagination data object, only creating it if it doesn't already exist |
getPagesCounter | Create and return the pagination pages counter string, ie. Page 2 of 4 |
getResultsCounter | Create and return the pagination result set counter string, ie. Results 1-10 of 42 |
getPagesLinks | Create and return the pagination page list string, ie. Previous, Next, 1 2 3 ... x |
getListFooter | Return the pagination footer |
getLimitBox | Creates a dropdown box for selecting how many records to show per page |
orderUpIcon | Return the icon to move an item UP |
orderDownIcon | Return the icon to move an item DOWN |
Importing[edit]
jimport( 'joomla.html.pagination' );
See also[edit]
Examples[edit]
Code Examples[edit]
´
JPagination on Frontpage
Pagination like Google
This is a core hack. Files you change as described on this page will be overwritten during updates of Joomla!. For more information, see Core hack.
- edit the libraries/joomla/html/pagination.php
- In the function __construct see the line $displayedPages = 10;
- Replace the $this->set( 'pages.start',... with the following lines
$_remainder = $this->get('pages.current') % $displayedPages; if($__remainder == 0){ $this->set( 'pages.start', (floor( $this->get('pages.current') / $displayedPages)) * $displayedPages -4); }elseif($__remainder == 1 and $this->get('pages.current') > $displayedPages){ $this->set( 'pages.start', (floor( ($this->get('pages.current')-1) / $displayedPages)) * $displayedPages -4); }else{ $this->set( 'pages.start', (floor( $this->get('pages.current') / $displayedPages)) * $displayedPages + 1); }
- In the function _buildDataObject find the line
for ($i = $this->get('pages.start'); $i <= $stop; $i ++)
- In this for loop, find the line
if ($i != $this->get('pages.current') || $this->_viewall)
- Add the elseif statement,
if ($i != $this->get('pages.current') || $this->_viewall) { $data->pages[$i]->base = $offset; $data->pages[$i]->link = JRoute::_("&limitstart=".$offset); }elseif($i == $this->get('pages.current')){ $data->pages[$i]->text = '<b>' . $i . '</b>'; }
This example was originally contributed by User:Mahboobkhalid.
Mariska wrote:
if you want to Jpagination work on front page change Jpagination.php
on this code function _buildDataObject bicause this method use to generate link on front end // add "&limit=".$this->limit to $data->[]->link