DedeCMS列表页Title加页码的方法(含Tags和搜索页)
在《DedeCMS列表页Title标签seo规范化处理方法》中,余斗介绍了如何为列表页添加一个具体的页码标签,具体的代码为:
{dede:pagelist listitem=
“pageno” listsize=
“0”
function=
“html2text(@me)” runphp=
“yes”}
if(strlen(@me)>
10||@me==
1) @me=
“”;
else @me=
“_第”.str_replace(
‘ ‘,
”,@me).
“页”;{/dede:pagelist}
但是,这个方法有个缺陷就是,只适用于列表页,且该栏目内容不止一页的情况下,如果栏目内容只有一页而且多于一篇,则会出现页码变为“第3条页”这样的错误引用,且这个方法不适用于搜索页,显然这个方法不是很完善,今天余斗就给出最佳的解决方法,对文章列表页、Tags列表页、搜索结果页都有效。
言归正传,老规矩,做以下修改之前记得备份好。
文章列表页
打开include/arc.listview.class.php,找到:
$this->ParseDMFields($this->PageNo,
1);
在这段代码上面加上:
$this->Fields[
‘pagexx’] = $this->PageNo;
$this->ParseTempletsFirst();
文章列表页中引用分页码的标签为:
第{dede:
field.pagexx/}页
Tags列表页
打开include/arc.taglist.class.php,找到:
$this->ParseDMFields($this->PageNo,
0);
在这段代码上面加上:
$this->Fields[
‘pagexx’] = $this->PageNo;
$this->ParseTempletsFirst();
Tags列表页中引用分页码的标签为:
第{dede:
field.pagexx/}页
搜索页
打开include/arc.searchview.class.php,找到:
if($this->PageNo==
1)
在这段代码上面加上(注意和前面两个不同):
$this->Fields[
‘pagexx’] = $this->PageNo;
搜索页中引用分页码的标签为:
第{dede:
field.pagexx/}页
这样就完美实现了DedeCMS中的三个最主要的列表页的分页显示,余斗在V5.7版本中测试通过,其他版本如有问题,欢迎在下面留言反馈。