4dab33b149953
From Joomla! Documentation
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.
Chris Davenport 13:38, 17 April 2011 (CDT) Edit comment