解决emlog首页和分类页的分页样式问题
在emlog中,提供了一个简单的分页功能,并且在样式表中也没有好好的定义这个东西,导致emlog的日志列表分页很难看,是相当的丑陋,当然你可以直接通过样式表的控制操作分页,那样效果还是不是很理想的,下面就提供一种修改核心代码(分页函数)的方式来实现这个功能。本文分两部分进行。
一、修改分页函数
(代码来自博客“星知苑”),表示感谢。 分页函数演示效果见本站演示截图。
修改function.base.php中的分呢也函数(到目前为止,官方基本上对这个文件中分页函数做调整),为了安全起见,请主动备份此函数。
function.base.php中 位于include/lib的文件夹中。
把原函数
/**
* 分页函数
*
* @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> 页,共 $pnums 页";
return $re;
}
二、样式表控制
第一步,找到你模板文件中log_list.php,找到
<div class="pageNo">
<?php echo $page_url; ?>
</div>
类似的代码,重点是<?php echo $page_url; ?> 看那个层的类名pageNo,如果你的class 不是pageNo,那么下边样式表中的所有pageNo就换成你的名字,例如pageupdown
第二步,找到你的模板下的main.css。
添加以下样式表内容
.pageNo {
text-align:left;
padding-right:5px;
line-height:25px;
}
.pageNo a,.pages em {
font-size:16px;
margin:2px 2px 2px 0;
background:#fff;
border:1px solid #ccc;
color:#787878;
padding:2px 5px 2px 5px;
}
.pageNo a:hover {
background:#0196E3;
border:1px solid #fff;
color:#fff;
}
.pageNo .page {
font-size:12px;
margin:2px 2px 2px 0;
background:#0196E3;
border:1px solid #ccc;
color:#FFFFFF;
padding:2px 5px 2px 5px;
}
共有 0 条评论