emlog修改分页样式(分页函数)方法总结[修改内核]
0
1677
2017年9月30日
本文章总结了很多种不同的关于emlog修改分页样式(分页函数)方法,下面我来给各位整理一下,有需要自行修改emlog分页样式的同学可参考参考。
首先说到分页样式,那么主要去修改emlog的分页函数。那么emlog的分页函数在哪里呢?其实emlog的分页函数是集成在内核的基础函数库中的,所以要修改分页函数就要HACK程序(注:HACK程序前请先备份网站)。
下面来说说如何修改,emlog源程序:
1.找到文件include/lib/function.base.php中的分页函数,大概在function.base.php的220~250行(前提是你的function.base.php的原版程序)。
源程序的分页函数如下:
/** * 分页函数 * * @param int $count 条目总数 * @param int $perlogs 每页显示条数目 * @param int $page 当前页码 * @param string $url 页码的地址 */ function pagination($count, $perlogs, $page, $url, $anchor = '') { $pnums = @ceil($count / $perlogs); $re = ''; $urlHome = preg_replace("|[\?&/][^\./\?&=]*page[=/\-]|", "", $url); for ($i = $page - 5; $i <= $page + 5 && $i <= $pnums; $i++) { if ($i > 0) { if ($i == $page) { $re .= " <span>$i</span> "; } elseif ($i == 1) { $re .= " <a href=\"$urlHome$anchor\">$i</a> "; } else { $re .= " <a href=\"$url$i$anchor\">$i</a> "; } } } if ($page > 6) $re = "<a href=\"{$urlHome}$anchor\" title=\"首页\">«</a><em>...</em>$re"; if ($page + 5 < $pnums) $re .= "<em>...</em> <a href=\"$url$pnums$anchor\" title=\"尾页\">»</a>"; if ($pnums <= 1) $re = ''; return $re; }
修改为
/** * 分页函数 * * @param int $count 条目总数 * @param int $perlogs 每页显示条数目 * @param int $page 当前页码 * @param string $url 页码的地址 */ function pagination($count,$perlogs,$page,$url,$anchor=''){ $pnums = @ceil($count / $perlogs); $page = @min($pnums,$page); $prepg=$page-1; //上一页 $nextpg=($page==$pnums ? 0 : $page+1); //下一页 $urlHome = preg_replace("|[\?&/][^\./\?&=]*page[=/\-]|","",$url); #开始分页导航内容 $re = ""; if($pnums<=1) return false; //如果只有一页则跳出 if($page!=1) $re .=" <a href=\"$urlHome$anchor\">首页</a> "; if($prepg) $re .=" <a href=\"$url$prepg$anchor\">前页</a> "; for ($i = $page-5;$i <= $page+5 && $i <= $pnums; $i++){ if ($i > 0){ if ($i == $page){ $re .= " <span>$i</span> "; } elseif($i == 1) { $re .= " <a href=\"$urlHome$anchor\">$i</a> "; } else { $re .= " <a href=\"$url$i$anchor\">$i</a> "; } } } if($nextpg) $re .=" <a href=\"$url$nextpg$anchor\">后页</a> "; if($page!=$pnums) $re.=" <a href=\"$url$pnums$anchor\" title=\"尾页\">尾页</a>"; #下拉跳转列表,循环列出所有页码 $re .=" 跳转到第 <select name='topage' size='1' onchange='window.location=\"$url\"+this.value'>\n"; for($i=1;$i<=$pnums;$i++){ if($i==$page) $re .="<option value='$i' selected>$i</option>\n"; else $re .="<option value='$i'>$i</option>\n"; } $re .="</select> 页,共 $pnums 页"; return $re; }
当然你如果还要共几页,这个显示的话。上面删掉的最后一行不要删除而且需要修改如下:
$re .="共 $pnums 页";
PS:写在最后,如果不喜欢跳转的那个选择方式,还可以用填入页数跳转的分页,代码实现也差不多,我这里就不一一说明了,以后有时间或者有朋友需要的话就补上去。
这个主题简介啊