今天有位站长来咨询小编,他说用dedecms5.7建的站,最近发现栏目列表首页与第一页重复,这个问题不知道应该如何解决,去论坛搜索也发现不少这样的问题。现在小编就来告诉大家应该如何处理栏目列表首页与第一页重复的问题吧。

dede5.7栏目列表首页与第一页重复的解决办法

首先,操作前注意备份文件。代码中的网址记得替换成自己的。

1,找到\include\arc.listview.class.php这个文件,将 
$typedir= ereg_replace(‘{cmspath}’,$GLOBALS['cfg_cmspath'],$this->Fields['typedir']); 
这段代码添加到”//获得上一页和主页的链接”前面;

2,找到下面几行代码(就在”//获得上一页和主页的链接”下面) 
if($this->PageNo != 1) 

$prepage.=”<li><a href=http://www.xxx.com/learning/’”.str_replace(“%7Bpage%7D”,$prepagenum,$tnamerule).”‘>上一页</a></li>/r/n”;%3C/div> 
$indexpage=”<li><a href=http://www.xxx.com/learning/’”.str_replace(“%7Bpage%7D”,1,$tnamerule).”‘>首页</a></li>/r/n”;%3C/div> 
}

改成:

if($this->PageNo != 1) 

if($prepagenum==1) 

$prepage.=”<li><a href=http://www.xxx.com/”%22.$typedir.”//”>上一页</a></li>/r/n”;%3C/div> 

else 

$prepage.=”<li><a href=http://www.xxx.com/”%22.str_replace(“%7Bpage%7D”,$prepagenum,$tnamerule).”/”>上一页</a></li>/r/n”;%3C/div> 

$indexpage=”<li><a href=http://www.xxx.com/”%22.$typedir.”//”>首页</a></li>/r/n”;%3C/div> 
}

3.找到 
$listdd.=”<a href=http://www.xxx.com/learning/’”.str_replace(“%7Bpage%7D”,$j,$tnamerule).”‘>”.$j.”</a>/r/n”;%3C/div> 
改成: 
if($j==1) 

$listdd.=”<li><a href=http://www.xxx.com/”%22.$typedir.”//”>”.$j.”</a></li>/r/n”;%3C/div> 

else 

$listdd.=”<li><a href=http://www.xxx.com/”%22.str_replace(“%7Bpage%7D”,$j,$tnamerule).”/”>”.$j.”</a></li>/r/n”;%3C/div> 
}

最后一个关键的: 
把$optionlist .= “<option value=’”.str_replace(“{page}”,$mjj,$tnamerule).”‘ selected>$mjj</option>\r\n”; 
改成if($mjj==1) 
{$optionlist .= “<option value=’”.$typedir.”/’ selected>$mjj</option>\r\n”;} 

else{$optionlist .= “<option value=’”.str_replace(“{page}”,$mjj,$tnamerule).”‘ selected>$mjj</option>\r\n”;} 

把$optionlist .= “<option value=’”.str_replace(“{page}”,$mjj,$tnamerule).”‘>$mjj</option>\r\n”; 
改成if($mjj==1) 
{$optionlist .= “<option value=’”.$typedir.”/’>$mjj</option>\r\n”;} 
else{ 
$optionlist .= “<option value=’”.str_replace(“{page}”,$mjj,$tnamerule).”‘>$mjj</option>\r\n”;}

只需要4步就完成了。