Emlog默认的分页导航说实话真的不是很美,但又不能从模版中定义,所以必须动用程序中的include\lib\function.base.php这个文件了!新浪SAE版本的需要修改include\lib\下function.sae.base.php这个文件.搜索分页,修改,其他的就利用CSS美化一下即可!
这里提供一个参考,仿QQ空间日志列表的分页导航,当页数小于7个的时候默认不显示“…”,等等…与QQ空间的分页导航一样,前后显示“…”并显示第一页和最后一页的页码!
替换代码:
/**
* 分页函数
*
* @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);
if($pnums<8){
for ($i = 1;$i <=7 && $i <= $pnums; $i++){
if ($i > 0){
if ($i == $page && $i==1){
$re .= ” <span>上一页</span><span>$i</span> “;
} elseif($i == $page && $i<$pnums) {
$re .= ” <span>$i</span> “;
} elseif($i == $page && $i==$pnums) {
$re .= ” <span>$i 下一页</span> “;
} elseif($i == 1) {
$re .= ” <a href=\”$urlHome$anchor\”>$i</a> “;
} else {
$re .= ” <a href=\”$url$i$anchor\”>$i</a> “;
}
}
}
}
else{
for ($i = $page-2;$i <=$page+2 && $i <= $pnums; $i++){
if ($i > 0){
if ($i == $page && $i==1){
$ref .= ” <span>上一页</span><span>$i</span> “;
} elseif($i == $page && $i<$pnums) {
$ref .= ” <span>$i</span> “;
} elseif($i == $page && $i==$pnums) {
$ref .= ” <span>$i 下一页</span> “;
} elseif($i == 1) {
$ref .= ” <a href=\”$urlHome$anchor\”>$i</a> “;
} else {
$ref .= ” <a href=\”$url$i$anchor\”>$i</a> “;
}
}
}
for ($i = 1;$i <= 6 ; $i++){
if ($i > 0){
if ($i == $page && $i==1){
$ree .= ” <span>上一页</span><span>$i</span> “;
} elseif($i == $page && $i<$pnums) {
$ree .= ” <span>$i</span> “;
} elseif($i == $page && $i==$pnums) {
$ree .= ” <span>$i 下一页</span> “;
} elseif($i == 1) {
$ree .= ” <a href=\”$urlHome$anchor\”>$i</a> “;
} else {
$ree .= ” <a href=\”$url$i$anchor\”>$i</a> “;
}
}
}
for ($i = $pnums-5;$i <= $pnums ; $i++){
if ($i > 0){
if ($i == $page && $i==1){
$reee .= ” <span>上一页</span><span>$i</span> “;
} elseif($i == $page && $i<$pnums) {
$reee .= ” <span>$i</span> “;
} elseif($i == $page && $i==$pnums) {
$reee .= ” <span>$i 下一页</span> “;
} elseif($i == 1) {
$reee .= ” <a href=\”$urlHome$anchor\”>$i</a> “;
} else {
$reee .= ” <a href=\”$url$i$anchor\”>$i</a> “;
}
}
}
}
if ($page >= $pnums-6 && $pnums>7 && $page>4) $re = “<a href=\”{$urlHome}$anchor\”>1</a><em>…</em>$reee”;
if ($page <= 4 && $pnums>7) $re = “$ree<em>…</em> <a href=\”$url$pnums$anchor\”>$pnums</a>”;
if ($page <= $pnums-4 && $page>4) $re = “<a href=\”{$urlHome}$anchor\”>1</a><em>…</em>$ref<em>…</em><a href=\”$url$pnums$anchor\”>$pnums</a>”;
if ($pnums <= 1) $re = ”;
if($page > 1) {
$i = $page – 1;
$re = ” <a href=\”".$url.$i.”\”>上一页</a> ” . $re;
}
if($page < $pnums) {
$i = $page + 1;
$re .= ” <a href=\”".$url.$i.”\”>下一页</a> “;
}
return $re;
}
复制黏贴的时候注意符号的状态,一般都要重新在英文输入法下替换符号!