$pager = new IPF_ORM_Pager_LayoutArrows(
new IPF_ORM_Pager($this->q, $currentPage, $this->perPage),
- new IPF_ORM_Pager_Range_Sliding(array('chunk' => 15)),
+ new IPF_ORM_Pager_Range_Sliding(array('chunk' => 10)),
$pager_url
);
$pager->setTemplate('<a href="{%url}">{%page}</a> ');
$str = '';
if ($pager->getFirstPage()!=$pager->getLastPage()){
- // First page
- if ($pager->getFirstPage()!=$pager->getPage()){
- $this->addMaskReplacement('page', '«', true);
- $options['page_number'] = $pager->getFirstPage();
- $str .= $this->processPage($options);
- }
-
- // Previous page
- /*
- $this->addMaskReplacement('page', '‹', true);
- $options['page_number'] = $pager->getPreviousPage();
- $str .= $this->processPage($options);
- */
- // Pages listing
$this->removeMaskReplacement('page');
- $str .= parent::display($options, true);
+ if (($pager->getPage()-2)>$pager->getFirstPage()){
+
+ if (($pager->getPage()-2)>$pager->getFirstPage()){
+ $options['page_number'] = $pager->getFirstPage();
+ $str .= $this->processPage($options);
+ }
+ if (($pager->getPage()-3)>$pager->getFirstPage()){
+ $options['page_number'] = $pager->getFirstPage()+1;
+ $str .= $this->processPage($options);
+ }
+ if (($pager->getPage()-4)>$pager->getFirstPage()){
+ $str .= ' ... ';
+ }
+ }
- // Next page
- /*
- $this->addMaskReplacement('page', '›', true);
- $options['page_number'] = $pager->getNextPage();
- $str .= $this->processPage($options);
- */
-
- // Last page
- if ($pager->getLastPage()!=$pager->getPage()){
- $this->addMaskReplacement('page', '»', true);
- $options['page_number'] = $pager->getLastPage();
- $str .= $this->processPage($options);
+ // Pages listing
+ $str .= parent::display(&$options, true);
+ $last_range = $options['page_number'];
+ if (($last_range)<$pager->getLastPage()){
+
+ if (($last_range+2)<$pager->getLastPage()){
+ $str .= ' ... ';
+ }
+ if (($last_range+1)<$pager->getLastPage()){
+ $options['page_number'] = $pager->getLastPage()-1;
+ $str .= $this->processPage($options);
+ }
+ if (($last_range)<$pager->getLastPage()){
+ $options['page_number'] = $pager->getLastPage();
+ $str .= $this->processPage($options);
+ }
}
}