dedecms 栏目列表分页链接优化
时间:2014-11-14
DEDE默认栏目列表分页链接如:
<li><a href='list_4_1.html'>首页</a></li>
<li><a href='list_4_3.html'>上一页</a></li>
<li><a href='list_4_1.html'>1</a></li>
<li><a href='list_4_2.html'>2</a></li>
<li><a href='list_4_3.html'>3</a></li>
<li class="thisclass">4</li>
<li><a href='list_4_5.html'>5</a></li>
<li><a href='list_4_5.html'>下一页</a></li>
<li><a href='list_4_5.html'>末页</a></li>
这种链接方式其实并不十分合理,比如这是http://www.abc.com/abc/这个栏目的列表分页链接,下面的链接方式才更合理:
<li><a href='/abc/'>首页</a></li>
<li><a href='list_4_3.html'>上一页</a></li>
<li><a href='/ab/'>1</a></li>
<li><a href='list_4_2.html'>2</a></li>c
<li><a href='list_4_3.html'>3</a></li>
<li class="thisclass">4</li>
<li><a href='list_4_5.html'>5</a></li>
<li><a href='list_4_5.html'>下一页</a></li>
<li><a href='list_4_5.html'>末页</a></li>
1.找到\include\arc.listview.class.php这个文件,将$typedir= ereg_replace('^(.*)/','',$this->Fields['typedir']);这种代码添加到“//获得上一页和主页的链接”前;
2.找到$indexpage="<li><a href='".str_replace("{page}",1,$tnamerule)."'>首页</a></li>\r\n";将其改为$indexpage="<li><a href='/".$typedir."/'>首页</a></li>\r\n";
3.找到$prepage.="<li><a href='".str_replace("{page}",$prepagenum,$tnamerule)."'>上一页</a></li>\r\n";改为:
代码如下:
if($prepagenum==1)
{
$prepage.="<li><a href='/".$typedir."/'>上一页</a></li>\r\n";
}
else
{
$prepage.="<li><a href='".str_replace("{page}",$prepagenum,$tnamerule)."'>上一页</a></li>\r\n";
}
4.找到$listdd.="<li><a href='".str_replace("{page}",$j,$tnamerule)."'>".$j."</a></li>\r\n";改为:
if($j==1)
{
$listdd.="<li><a href='/".$typedir."/'>1</a></li>\r\n";
}
else
{
$listdd.="<li><a href='".str_replace("{page}",$j,$tnamerule)."'>".$j."</a></li>\r\n";
}
使用这种方法的前提是生成的栏目列表页面要放在栏目的根文件夹下。