opencart 分页

2012-09-06   来源:站长日记       编辑:沧海桑田   类别:网店系统    转载到:    发表评论

/system/library/pagination.php
这个分页类,不好使用
class Pagination {
public $total = 0;
public $page = 1;
public $limit = 20;
public $num_links = 10;
public $url = '';
public $text = 'Showing {start} to {end} of {total} ({pages} Pages)';
public $text_first = '|<';
public $text_last = '>|';
public $text_next = '>';
public $text_prev = '<';
public $style_links = 'links';
public $style_results = 'results';
 
public function render() {
  $total = $this->total;
 
  if ($this->page < 1) {
   $page = 1;
  } else {
   $page = $this->page;
  }
 
  if (!(int)$this->limit) {
   $limit = 10;
  } else {
   $limit = $this->limit;
  }
 
  $num_links = $this->num_links;
  $num_pages = ceil($total / $limit);
 
  $output = '';
 
  if ($page > 1) {
   $output .= ' ' . $this->text_first . ' ' . $this->text_prev . ' ';
     }else{
   $output .= '
  • ' . $this->text_first . '
  • ' . $this->text_prev . ' ';
      }

      if ($num_pages > 1) {
       if ($num_pages <= $num_links) {
        $start = 1;
        $end = $num_pages;
       } else {
        $start = $page - floor($num_links / 2);
        $end = $page + floor($num_links / 2);
      
        if ($start < 1) {
         $end += abs($start) + 1;
         $start = 1;
        }
         
        if ($end > $num_pages) {
         $start -= ($end - $num_pages);
         $end = $num_pages;
        }
       }

       if ($start > 1) {
        $output .= ' .... ';
       }

       for ($i = $start; $i <= $end; $i++) {
        if ($page == $i) {
         $output .= ' ' . $i . ' ';
        } else {
         $output .= ' ' . $i . ' ';
        }
       }
          
       if ($end < $num_pages) {
        $output .= ' .... ';
       }
      }
     
         if ($page < $num_pages) {
       $output .= ' ' . $this->text_next . ' ' . $this->text_last . ' ';
      }else{
       $output .= '
  • ' . $this->text_next . '
  • ' . $this->text_last . ' ';
      }
     
      $find = array(
       '{start}',
       '{end}',
       '{total}',
       '{pages}'
      );
     
      $replace = array(
       ($total) ? (($page - 1) * $limit) + 1 : 0,
       ((($page - 1) * $limit) > ($total - $limit)) ? $total : ((($page - 1) * $limit) + $limit),
       $total,
       $num_pages
      );
     
      //return ($output ? '' : '') ;
           return ($total > $limit ? '' : '') ;
    }
    }
    ?>

    0

    0
    0|0 | 鲜花 VS 砸蛋 | 17阅读 0评论
    上一篇: opencart layout