手机游戏
经典单机
角色扮演
休闲益智
动作冒险
射击枪战
赛车竞速
模拟经营
解密闯关
策略战争
手机软件
时尚购物
体育运动
资讯阅读
教育学习
摄影摄像
生活服务
效率办公
聊天社交
视频盒子
其它软件
新闻资讯
游戏攻略
软件教程
游戏问答
软件资讯
软件技术
叨叨念念
网站技术
技术问答
软件教程
资源资料
原创作品
代码学习
网页设计
网络技术
合集
合集
游戏合集
软件合集
资讯合集
视频合集
首页 > 原创作品 > 原创作品

emlog修改分页样式(分页函数)

作者:星知苑 时间:2012-12-25 09:55:46

有人说我的分页不错,跟我要我的分页样式,本着共享的精神我就共享出来了,本站对emlog修改的代码多可以分享,当然详细代码请往下仔细的看。

首先说到分页样式,那么主要去修改emlog的分页函数。那么emlog的分页函数在哪里呢?其实emlog的分页函数是集成在内核的基础函数库中的,所以要修改分页函数就要HACK程序。

注:HACK程序前请先备份网站。

 

下面来说说如何修改,emlog5.0.1源程序:[break]

1.找到基础函数库(function.base.php)中的分页函数,大概在function.base.php的220~250行(前提是你的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="首页">&laquo;</a><em>...</em>$re";
	if ($page + 5 < $pnums)
		$re .= "<em>...</em> <a href="$url$pnums$anchor" title="尾页">&raquo;</a>";
	if ($pnums <= 1)
		$re = '';
	return $re;
}

 

2.要做到我本博客的分页样式,要做如下的修改,我直接贴出源代码了。

/**
 * 分页函数
 *
 * @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 .=" 跳转到第 <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 .="页,共 $pnums 页";

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

$re .="共 $pnums 页";

PS:写在最后,如果不喜欢跳转的那个选择方式,还可以用填入页数跳转的分页,代码实现也差不多,我这里就不一一说明了,以后有时间或者有朋友需要的话就补上去。

 

补一张我博客的效果图说明图:

关于选中的当前页数显示的页数多少,当前页数前后多+5页,不足5页的也就不显示不足的页数。

点击查看原图

 

by 2013-03-06 更新

注意:由于使用了下拉菜单,所以可以在地址栏自己填写页数,由于没有判断页数多少,所以会造成有的版本的mysql的查询语句中limit超过限制而报错。

虽然问题不大,但是还是会暴露查询语句,显示数据库错误的。

解决方法:

1.不用下拉菜单(跳转代码),删除即可。

2.修改lib/mysql.php文件(大概第59行)

 

emMsg("SQL语句执行错误:$sql <br />" . $this->geterror());

修改为

emMsg(show_404_page());

 

良心推荐

女生喜欢玩的休闲游戏
  • 波克捕鱼下载破解版
  • 关东煮大厨游戏下载中文版
  • 叶罗丽彩妆公主破解版无广告
  • 米加小镇世界完整版下载
  • 腾讯欢乐麻将全集新版下载
  • 开心消消乐破解版
在现在的社会中,很多的女生也是更多的喜欢一些休闲的比较有乐趣消磨时间的游戏,当游戏不再是男生唯一的乐趣的时候,女生玩游戏也是相当有技术也有思想,本站小编认真的去摸排之后发现很多的女生还是喜欢一些有趣的休闲游戏,这里就有针对性来推荐给女生们下载了,休闲游戏好玩又不腻的。

相关资讯