不修改内核实现emlog分页的上页、下页效果
1、先在你使用的模板的module.php文件中增加自定义的分页函数,代码如下:
	  
		|  代码如下 | 
		复制代码 | 
	  
	  
		| 
 
//blog:自定义分页函数  
function my_page($count, $perlogs, $page, $url, $anchor = '') {  
 $pnums = @ceil($count / $perlogs);  
 $re = '';  
 $urlHome = preg_replace("|[?&/][^./?&=]*page[=/-]|", "", $url);  
 if($page > 1) {  
  $i = $page - 1;  
  $re = " 上页 " . $re;  
 }  
 if($page < $pnums) {  
  $i = $page + 1;  
  $re .= " 下页 ";  
 }  
 return $re;  
}  
?> 
 | 
	  
	
2、在调用分页的地方(一般是log_list.php)文件加入下列代码:
	  
		|  代码如下 | 
		复制代码 | 
	  
	  
		| 
 
$page_loglist = my_page($lognum, $index_lognum, $page, $pageurl);  
echo $page_loglist;  
?> 
 | 
	  
	
3、若碎语页面也要调用修改过的分页样式,则在t.php文件中加入下列代码:
	  
		|  代码如下 | 
		复制代码 | 
	  
	  
		| 
 
$page_t =  my_page($twnum, Option::get('index_twnum'), $page, BLOG_URL.'t/?page=');  
echo $page_t;  
?> 
 | 
	  
	
方法二,修改emlog分页函数
找到基础函数库function.base.php(位于emlog根目录/include/lib文件夹下)中的分页函数,大概在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);  
    $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 .=" 首页 ";   
    if($prepg) $re .=" 前页 ";  
    for ($i = $page-5;$i <= $page+5 && $i <= $pnums; $i++){  
        if ($i > 0){  
            if ($i == $page){  
                $re .= " $i ";  
            } elseif($i == 1) {  
                $re .= " $i ";  
            } else {  
                $re .= " $i ";  
            }  
        }  
    }  
    if($nextpg) $re .=" 后页 ";   
    if($page!=$pnums) $re.=" 尾页";  
                                                               
    #下拉跳转列表,循环列出所有页码  
    $re .=" 跳转到第 <select name='topage' size='1' 
    onchange='window.location="$url"+this.value'>n";  
    for($i=1;$i<=$pnums;$i++){  
        if($i==$page) $re .="n";  
        else $re .="n";  
    }  
    $re .=" 页,共 $pnums 页";  
    return $re;  
} 
 | 
	  
	
还有如果不要下拉式跳转的换,删掉以下代码就可以了:
	  
		|  代码如下 | 
		复制代码 | 
	  
	  
		| 
 #下拉跳转列表,循环列出所有页码  
    $re .=" 跳转到第 
    onchange='window.location="$url"+this.value'>n";  
    for($i=1;$i<=$pnums;$i++){  
        if($i==$page) $re .="n";  
        else $re .="n";  
    }  
     $re .=" 页,共 $pnums 页"; 
 | 
	  
	
当然你如果还要显示共几页,删掉上面代码后再在return $re;之前加上如下代码即可:
	  
		|  代码如下 | 
		复制代码 | 
	  
	  
		| 
 $re .="共 $pnums 页"; 
 | 
	  
	
如果不要下拉式跳转的换,删掉以下代码就可以了:
#下拉跳转列表,循环列出所有页码
	  
		|  代码如下 | 
		复制代码 | 
	  
	  
		|  $re .=" 跳转到第  | 
	  
	
当然你如果还要共几页,这个显示的话。上面删掉的最后一行不要删除而且需要修改如下:
	  
		|  代码如下 | 
		复制代码 | 
	  
	  
		| 
 $re .="共 $pnums 页"; 
 |