在使用Dedecms进行多语言网站开发时,常常需要对分页功能进行自定义设置。以下是一个详细的教程,帮助您实现英文和中文的分页显示。
首先,打开include/arc.listview.class.php
文件(以Dedecms 5.6版本为例)。
找到大约第29行:
var $remoteDir;
在其下方新增一行:
var $pagelang;
接着,找到大约第528行:
$list_len = trim($ctag->GetAtt("listsize"));
$pagelang = trim($ctag->GetAtt("pagelang"));
然后,找到大约第531行:
if($list_len=="") {
$list_len = 3;
}
if($pagelang=="") {
$pagelang = 'cn';
}
修改大约第545行:
$this->dtp->Assign($tagid,$this->GetPageListST($list_len,$listitem));
$this->dtp->Assign($tagid,$this->GetPageListST($list_len,$listitem,$pagelang));
接下来,修改函数定义:
function GetPageListST($list_len,$listitem="index,end,pre,next,pageno")
function GetPageListST($list_len,$listitem="index,end,pre,next,pageno",$pagelang='cn')
最后,修改大约第826行:
return "共 1 页 ".$this->TotalResult." 条记录 \r\n";
if($pagelang=='cn') {
return "共 1 页 ".$this->TotalResult." 条记录 \r\n";
} else {
return "Total 1 Page ".$this->TotalResult." Records \r\n";
}
按照上述方法,依次修改获取上一页、主页、下一页、末页的内容。
完成以上步骤后,打开列表模板页面,例如list_article_en.htm
(英文版列表页面模板),将:
{dede:pagelist listsize='5'/}
{dede:pagelist pagelang='en' listsize='5'/}
重新生成列表页即可成功实现多语言分页功能。此方法已在Dedecms 5.7版本中测试通过。