前言
之前做项目的时候遇到一个需求,因为是中英文版本的网站,所以分页也就需要对应的英文,在论坛、百度等地方搜索了很久均没能找到满意的答案,不过今天找到下面这篇内容,并进行测试,发现可以适合织梦目前最新的5.7版,并且已经成功的实现,所以与大家分享下:
温馨提示:下面的第几行,第几行可以忽略,用DW的搜索功能进行索引,可以方便找到,目标代码。而下面有些代码搜索不到,只是因为一些“空格”的问题,修改的时候注意下就能找到。
1、打开include/arc.listview.class.php(本文以DedeCMS5.7为例)
找到(约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 1Page ".$this->TotalResult." Records\r\n"; }
修改
return "共 0页".$this->TotalResult."条记录\r\n";
为
if($pagelang=='cn') { return "共 0页".$this->TotalResult."条记录\r\n"; } else { return "Total 0 Page ".$this->TotalResult." Records\r\n"; }
修改
$maininfo = "共 {$totalpage} 页 ".$this->TotalResult." 条\r\n";
为
if($pagelang=='cn') { $maininfo = "共 {$totalpage} 页 ".$this->TotalResult." 条\r\n"; } else { $maininfo = "Total {$totalpage} Page ".$this->TotalResult." Records\r\n"; }
依照上面的方法,依次修改下面的获取上一页、主页、下一页、末页的内容
2、打开列表模板页面,我这以list_article_en.htm为例,其中list_article_en.htm为英文版的列表页面模板,中文版的可以不用修改
修改
{dede:pagelist listsize='5'/}
为
{dede:pagelist pagelang='en' listsize='5'/}
重新生成列表页成功。不过还有一点美中不足的地方是虽然已经实现了列表页的全英文分页了,但是文章页的“上一篇”、“上一页”或“下一篇”、“下一页”的功能还没能搞定,小编会研究后和大家再继续分享的。
总结文章来源:https://www.toymoban.com/news/detail-423838.html
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能有所帮助,如果有疑问大家可以留言交流。
文章来源地址https://www.toymoban.com/news/detail-423838.html
到了这里,关于dedecms织梦实现中英文分页功能方法步骤的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!