Emlog页码显示数量的问题-站长杂谈下载

Emlog页码显示数量的问题

来自版块: 站长杂谈发表于: 2015-8-17 10:33:55
27815
0
如本资源下载地址失效,请点击此处进行反馈
开通本站Svip会员,全站资源免费下
  在论坛上看到有人问在哪里修改页码的显示数量,奇遇大神给出了文件名。我虽然不会php,但对这类简单问题的代码修改还是颇有心得的:不外乎就是备份加试验嘛!备份加试验一向是我的法宝(谁让咱不会编程呢),我自己的模板就是这么一遍又一遍地试验鼓捣出来的。还好有本地环境,这让调试简单了许多。
  找到了奇遇所说的文件和函数(include\lib\function.base.php 文件中的分页函数),发现默认的显示页码为当前页码的前5页到后5页,加上当前页码共是11页。当然这是最理想的情况,如果当前页码小于6,或者当前页码后面的页数不足5页,又或者连总页数都没有11页,自然显示不了这么多页了。
  鼓捣了半天,终于弄了个固定显示数量的效果(即便没有11页,但显示的数量不会变);然后又把首页、尾页出现的条件小小修改了一下(原来是大于等于11,改为了大于11),最后上传代码。小功告成,!
  当然,浪费了这么多口水,不可能不分享一下吧!下面是修改以后的分页函数:
  1. function pagination($count,$perlogs,$page,$url,$anchor=''){
    % O4 T9 @4 Q( V& h7 J( Q- b
  2.     $pnums = @ceil($count / $perlogs);
    ; H; l) l, K6 _8 \3 l4 `) {- V4 F
  3.     $urlHome = preg_replace("|[\?&/][^\./\?&=]*page[=/\-]|","",$url);* p9 e& D: R4 E2 p0 T1 q# |
  4.     $re = '';! U6 t, F6 H: N) ^* U
  5.     $pagelists = 7;  //每页显示的页码数量为:$pagelists*2+1& K2 X) f6 g- K; h, k
  6.     $page_begin = 1; //起始页码
    ; F& n% g5 H- ]% ]# l9 D' X) \" D
  7.     $page_end = 1;   //结束页码5 l, `+ S# c( n* f
  8.     if ($pagelists*2+1 < $pnums){
    6 u8 Y# O" {$ a7 @
  9.         if ($page <= $pagelists+1){
    $ z; v! c( D0 R9 x1 O
  10.             $page_end = $pagelists*2+1;
    7 L3 R* T* M5 @+ L2 x1 N" s( G
  11.         }! P. F' u, c1 q9 f' H/ N) e1 n
  12.         elseif ($page >= $pnums-$pagelists){0 g9 l, h  Q* V5 ~& l2 F
  13.             $page_begin = $pnums-$pagelists*2; $page_end = $pnums;
    ) R: P- M. N) R9 ~7 _
  14.         }7 Z  K2 }) ]' K- X
  15.         else{
    1 C% j, m9 |, v  y) j* `
  16.             $page_begin = $page-$pagelists; $page_end = $page+$pagelists;  k/ A5 \) p! e9 `
  17.         }% a+ |& O- b: v: \& o
  18.     }
    ; F* z: Z( Z  F; f! ]
  19.     elseif ($pnums > 1){/ |! s+ t8 N+ I2 g. i. z* q8 ?: \
  20.         $page_end = $pnums;8 x/ w# h; c* i: l; N" W  n
  21.     }6 `# K% z4 `7 }; {8 S
  22.     for ($i = $page_begin; $i <= $page_end; $i++){
    8 d% n, ~, d6 d$ V8 L" h* N4 {5 z
  23.         if ($i == $page){: P. j7 P: s& N
  24.             $re .= " <span>$i</span> ";
    6 J' y: v7 f+ P$ m. a# H- a
  25.         }
      S8 X: U! q/ G0 D4 l  K
  26.         elseif($i == 1) {
    0 Z9 n/ B3 J; b5 A. n
  27.             $re .= " <a href="$urlHome$anchor">$i</a> ";" f) u% p4 `+ l6 @# }+ I: s* y
  28.         }
      A: d# a/ O9 g5 m
  29.         else {, r& J% q0 q/ x2 g5 A
  30.             $re .= " <a href="$url$i$anchor">$i</a> ";
    # C! H7 U/ i/ g0 _# I
  31.         }
    + M$ r4 p: i( h" Y
  32.     }
    $ Z/ U3 d! \1 `' k
  33.     if ($pagelists*2+1 < $pnums){
    4 J& y. _8 z$ I/ B6 u& x
  34.         if ($page > $pagelists+1) $re = "<a href="{$urlHome}$anchor" title="首页">&#187;</a><em>...</em>$re";
    ! ?2 [( @  {6 A( k
  35.         if ($page + $pagelists < $pnums) $re .= "<em>...</em> <a href="$url$pnums$anchor" title="尾页">&#171;</a>";9 r$ J1 Z2 y3 k4 Y' x7 B
  36.         if ($pnums <= 1) $re = '';, ^2 Q: E; Z9 s$ [2 D( c- E# V
  37.     }4 g7 ~. p: t- M
  38.     return $re;
    ' _- W4 V3 |1 @+ L' ~
  39. }
复制代码
  具体的效果大家可以看看我的留言页面,至于页码的样式,请自己改CSS,这里就不啰嗦了!
6 I2 t7 X& G9 ]2 _9 n: r6 b

全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部