在《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