0

5.SimpleLog tag分页显示修正

发表者:wenzhou1219分类:SimpleLog2014-03-26 21:27:41 阅读[2856]

今天对博客进行调整时,又发现了SimpleBlog的一处Bug,在Tags页面中分页的链接是错误的。具体表现如下:

例如:对于Tags页面 http://jimwen.net/tag.php?tag=software 分页显示的话,每个分页链接都是http://jimwen.net/tag.php?tag=software。显然这是不对的,只好从源代码入手分析。

1.查看tag.php源代码,分页显示是通过获取_GET['pg']来区分不同的页面的,而源代码中分页URL中没有pg相关信息

2.构建分页页面URL最终调用/includes/main.function.php中的build_url函数,核心逻辑在这里


修改./tag.php,在88行插入(.代表根目录)

$page_arr=create_page_url($page_arr,'tag_list',$s);//创建分页URL

修改./includes/main.function.php中build_url函数如下(.代表根目录)

//重建url
function build_url($base,$id=1,$type=1)
{
	if ($GLOBALS['config']['rewrite']==1)
	{
		//对默认重写方式构建url重写
		if ($type==1||empty($type))
		{
			if ($base=='blog')
			{
				$url='blog/'.$id.'.html';
			}
			elseif ($base=='cat')
			{
				$url='category/'.$id.'.html';
			}
			elseif ($base=='archive')
			{
				$url='archive/'.$id.'/';
			}
			elseif ($base=='tag')
			{
				if ($GLOBALS['config']['tag_type']==1)
				{
					$id=urlencode(urlencode($id));
				}
				$url='tag/'.$id.'/';
			}
			elseif ($base=='tag_list')
			{
				if ($GLOBALS['config']['tag_type']==1)
				{
					$id=urlencode(urlencode($id));
				}
				$url='tag/'.$type.'/'.$id.'/';
			}
			elseif ($base=='page')
			{
				$url='page/'.$id.'/';
			}
		}
		else
		{
			if ($base=='blog')
			{
				$url='blog/'.$type;
			}
			elseif ($base=='cat')
			{
				$url='category/'.$type;
			}
		}

		//对分页重构url
		if ($base=='index_page')
		{
			$url='index/'.$id.'/';
		}
		elseif ($base=='archives_list')
		{
			$url='archives/'.$type.'/'.$id.'/';
		}
		elseif ($base=='cat_list')
		{
			$url='category/'.$type.'/'.$id.'/';
		}
		elseif ($base=='search')
		{
			$url='search.php?s='.$type.'&pg='.$id;
		}
	}
	else
	{
		if ($base=='blog')
		{
			$url='blog.php?id='.$id;
		}
		elseif ($base=='cat')
		{
			$url='list.php?act=cat_list&id='.$id;
		}
		elseif ($base=='archive')
		{
			$url='list.php?act=archives_list&date='.$id;
		}
		elseif ($base=='tag')
		{
			$url='tag.php?tag='.$id;
		}
		elseif ($base=='tag_list')
		{
			$url='tag.php?tag='.$type.'&pg='.$id;
		}
		elseif ($base=='index_page')
		{
			$url='index.php?pg='.$id;
		}
		elseif ($base=='archives_list')
		{
			$url='list.php?act=archives_list&date='.$type.'&pg='.$id;
		}
		elseif ($base=='cat_list')
		{
			$url='list.php?act=cat_list&id='.$type.'&pg='.$id;
		}
		elseif ($base=='search')
		{
			$url='search.php?s='.$type.'&pg='.$id;
		}
	}
	return $GLOBALS['config']['domain'].$url;
}


修正文件下载链接,替换相关文件即可



名字:

个人主页地址:

E-mail:

评论列表