首页 > 网站 > 建站经验 > 正文

emlog修改分页样式(分页函数)方法总结

2024-08-30 19:06:38
字体:
来源:转载
供稿:网友

本文章总结了很多种不同的关于emlog修改分页样式(分页函数)方法,下面我来给各位整理一下,有需要自行修改emlog分页样式的同学可参考参考.

方法一:不修改内核实现emlog分页的上页、下页效果.

1、先在你使用的模板的module.php文件中增加自定义的分页函数,代码如下:

  1. <?php  
  2. //blog:自定义分页函数  
  3. function my_page($count$perlogs$page$url$anchor = '') {  
  4.  $pnums = @ceil($count / $perlogs);  
  5.  $re = '';  
  6.  $urlHome = preg_replace("|[?&/][^./?&=]*page[=/-]|"""$url);  
  7.  if($page > 1) {  
  8.   $i = $page - 1;  
  9.   $re = " <a href="".$url.$i."">上页</a> " . $re;  
  10.  }  
  11.  if($page < $pnums) {  
  12.   $i = $page + 1;  
  13.   $re .= " <a href="".$url.$i."">下页</a> ";  
  14.  }  
  15.  return $re;  
  16. }  
  17. ?> 

2、在调用分页的地方(一般是log_list.php)文件加入下列代码:

  1. <?php   
  2. $page_loglist = my_page($lognum$index_lognum$page$pageurl);  
  3. echo $page_loglist;  
  4. ?> 

3、若碎语页面也要调用修改过的分页样式,则在t.php文件中加入下列代码:

  1. <?php   
  2. $page_t =  my_page($twnum, Option::get('index_twnum'), $page, BLOG_URL.'t/?page=');  
  3. echo $page_t;  
  4. ?> 

方法二,修改emlog分页函数

找到基础函数库function.base.php(位于emlog根目录/include/lib文件夹下)中的分页函数,大概在function.base.php的220~250行(前提是你的function.base.php是原版文件).

将源程序的“分页函数”替换为如下代码:

  1. /**  
  2.  * 分页函数  
  3.  *  
  4.  * @param int $count 条目总数  
  5.  * @param int $perlogs 每页显示条数目  
  6.  * @param int $page 当前页码  
  7.  * @param string $url 页码的地址  
  8.  */ 
  9. function pagination($count,$perlogs,$page,$url,$anchor=''){  
  10.     $pnums = @ceil($count / $perlogs);  
  11.     $page = @min($pnums,$page);  
  12.         $prepg=$page-1;                 //上一页  
  13.         $nextpg=($page==$pnums ? 0 : $page+1); //下一页  
  14.     $urlHome = preg_replace("|[?&/][^./?&=]*page[=/-]|","",$url);  
  15.                                                            
  16.     #开始分页导航内容  
  17.     $re = "";  
  18.     if($pnums<=1) return false;  //如果只有一页则跳出   
  19.     if($page!=1) $re .=" <a href="$urlHome$anchor">首页</a> ";   
  20.     if($prepg$re .=" <a href="$url$prepg$anchor">前页</a> ";  
  21.     for ($i = $page-5;$i <= $page+5 && $i <= $pnums$i++){  
  22.         if ($i > 0){  
  23.             if ($i == $page){  
  24.                 $re .= " <span>$i</span> ";  
  25.             } elseif($i == 1) {  
  26.                 $re .= " <a href="$urlHome$anchor">$i</a> ";  
  27.             } else {  
  28.                 $re .= " <a href="$url$i$anchor">$i</a> ";  
  29.             }  
  30.         }  
  31.     }  
  32.     if($nextpg$re .=" <a href="$url$nextpg$anchor">后页</a> ";   
  33.     if($page!=$pnums$re.=" <a href="$url$pnums$anchor">尾页</a>";  //开源软件:Vevb.com 
  34.                                                                
  35.     #下拉跳转列表,循环列出所有页码  
  36.     $re .=" 跳转到第 <select name='topage' size='1' 
  37.     onchange='window.location="$url"+this.value'>n";  
  38.     for($i=1;$i<=$pnums;$i++){  
  39.         if($i==$page$re .="<option value='$i' selected>$i</option>n";  
  40.         else $re .="<option value='$i'>$i</option>n";  
  41.     }  
  42.     $re .="</select> 页,共 $pnums 页";  
  43.     return $re;  

还有如果不要下拉式跳转的换,删掉以下代码就可以了:

  1. #下拉跳转列表,循环列出所有页码  
  2.     $re .=" 跳转到第 <select name='topage' size='1' 
  3.     onchange='window.location="$url"+this.value'>n";  
  4.     for($i=1;$i<=$pnums;$i++){  
  5.         if($i==$page$re .="<option value='$i' selected>$i</option>n";  
  6.         else $re .="<option value='$i'>$i</option>n";  
  7.     }  
  8.      $re .="</select> 页,共 $pnums 页"

当然你如果还要显示共几页,删掉上面代码后再在return $re;之前加上如下代码即可:

$re .="共 $pnums 页";

如果不要下拉式跳转的换,删掉以下代码就可以了.

  1. #下拉跳转列表,循环列出所有页码 
  2.  $re .=" 跳转到第 <select name='topage' size='1' onchange='window.location="$url"+this.value'>n"
  3.  for($i=1;$i<=$pnums;$i++){ 
  4.   if($i==$page$re .="<option value='$i' selected>$i</option>n"
  5.   else $re .="<option value='$i'>$i</option>n"
  6.  } 
  7.  $re .="页,共 $pnums 页";  

当然你如果还要共几页,这个显示的话,上面删掉的最后一行不要删除而且需要修改如下:

$re .="共 $pnums 页";

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表