标签归档:dedecms织梦

织梦TAG标签列表分页链接出错解决办法

先来看看DEDECMS默认的TAG列表分页:

第1页时:
<li><a href="/tags.php?/tag标签/1/">首页</a></li>
<li><a href="/tags.php?/tag标签/-1/">上一页</a></li>
<li><a href="/tags.php?/tag标签/1/">1</a></li>
<li><a href="/tags.php?/tag标签/2/">2</a></li>
<li><a href="/tags.php?/tag标签/3/">3</a></li>
<li><a href="/tags.php?/tag标签/4/">4</a></li>
<li><a href="/tags.php?/tag标签/5/">5</a></li>
<li><a href="/tags.php?/tag标签/6/">6</a></li>
<li><a href="/tags.php?/tag标签/1/">下一页</a></li>
<li><a href="/tags.php?/tag标签/6/">末页</a></li>

第3页时:

<li><a href="/tags.php?/tag标签/1/">首页</a></li>
<li><a href="/tags.php?/tag标签/2/">上一页</a></li>
<li><a href="/tags.php?/tag标签/1/">1</a></li>
<li><a href="/tags.php?/tag标签/2/">2</a></li>
<li class=”thisclass”><a>3</a></li>
<li><a href="/tags.php?/tag标签/4/">4</a></li>
<li><a href="/tags.php?/tag标签/5/">5</a></li>
<li><a href="/tags.php?/tag标签/6/">6</a></li>
<li><a href="/tags.php?/tag标签/4/">下一页</a></li>
<li><a href="/tags.php?/tag标签/6/">末页</a></li>

分页连接方式和栏目列表页一样,链接回到TAG列表默认首页时,地址发生了改变,多出了“1/”部分,
这样就分散了网站的权重。当在TAG列表是第1页的时候,“上一页”的链接居然是“-1/”页面,
这样的链接对于SEO搜索引擎优化来说不友好,下面才是我们需要的效果:

第1页时:

<li><a href="/tags.php?/tag标签/">首页</a></li>
<li class=”thisclass”><a>1</a></li>
<li><a href="/tags.php?/tag标签/2/">2</a></li>
<li><a href="/tags.php?/tag标签/3/">3</a></li>
<li><a href="/tags.php?/tag标签/4/">4</a></li>
<li><a href="/tags.php?/tag标签/5/">5</a></li>
<li><a href="/tags.php?/tag标签/6/">6</a></li>
<li><a href="/tags.php?/tag标签/2/">下一页</a></li>
<li><a href="/tags.php?/tag标签/6/">末页</a></li>

第3页时:

<li><a href="/tags.php?/tag标签/">首页</a></li>
<li><a href="/tags.php?/tag标签/2/">上一页</a></li>
<li><a href="/tags.php?/tag标签/">1</a></li>
<li><a href="/tags.php?/tag标签/2/">2</a></li>
<li class=”thisclass”><a>3</a></li>
<li><a href="/tags.php?/tag标签/4/">4</a></li>
<li><a href="/tags.php?/tag标签/5/">5</a></li>
<li><a href="/tags.php?/tag标签/6/">6</a></li>
<li><a href="/tags.php?/tag标签/4/">下一页</a></li>
<li><a href="/tags.php?/tag标签/6/">末页</a></li>

要得到这样的效果,只要按下面介绍的方法进行一些修改就可以了。

打开\include\arc.taglist.class.php修改:

1.找到 
 

if($this->PageNo != 1) 

改成 
if($this->PageNo == 1 || empty($this->PageNo)) 

2.找到 

$prepage.=”<li><a href=’”.$purl.”/$prepagenum/’>上一页</a></li>\r\n”;
$indexpage=”<li><a href=’”.$purl.”/1/’>首页</a></li>\r\n”;

改成
$indexpage="<li><a>首页</a></li><li class='thisclass'>1</li>\r\n";;

3.找到 

$indexpage=”<li><a>首页</a></li>\r\n”; 

改成

if ($prepagenum==1){
$prepage.="<li><a href='".$purl."/'>上一页</a></li><li><a href='".$purl."/'>1</a></li>\r\n";
}else{
$prepage.="<li><a href='".$purl."/$prepagenum/'>上一页</a></li><li><a href='".$purl."/'>1</a></li>\r\n";
}
$indexpage="<li><a href='".$purl."/'>首页</a></li>\r\n";

4.找到

$nextpage.=”<li><a href=’”.$purl.”/$nextpagenum/’>下一页</a></li>\r\n”;
改成

if ($nextpagenum==1){
$nextpage.="<li><a href='".$purl."/".($nextpagenum+1)."/'>下一页</a></li>\r\n";
}else{
$nextpage.="<li><a href='".$purl."/$nextpagenum/'>下一页</a></li>\r\n";
}

5.找到 

$j=1;

改成 
$j=2;

这样改了之后就已经是我们想要得到的效果了。(因为发布编辑器的问题,小编打的单引号自动变成了双引号,大家记得自己修改回来)