前言
之前做項目的時候遇到一個需求,因為是中英文版本的網站,所以分頁也就需要對應的英文,在論壇、百度等地方搜索了很久均沒能找到滿意的答案,不過今天找到下面這篇內容,并進行測試,發(fā)現(xiàn)可以適合織夢目前最新的5.7版,并且已經成功的實現(xiàn),所以與大家分享下:
溫馨提示:下面的第幾行,第幾行可以忽略,用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行)
?
4
if($list_len=="")
{
$list_len = 3;
}
在其下面加上
?
4
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." 條記錄
";
為
?
4
if($pagelang=='cn') {
return "
-
共 1頁".$this->TotalResult." 條記錄
";
}
else
{
return "
-
Total 1Page ".$this->TotalResult." Records
";
}
修改
?
return "
-
共 0頁".$this->TotalResult."條記錄
";
為
?
4
if($pagelang=='cn') {
return "
-
共 0頁".$this->TotalResult."條記錄
";
}
else
{
return "
-
Total 0 Page ".$this->TotalResult." Records
";
}
修改
?
$maininfo = "
-
共 {$totalpage} 頁 ".$this->TotalResult." 條
";
為
2
6
if($pagelang=='cn') {
$maininfo = "
-
共 {$totalpage} 頁 ".$this->TotalResult." 條
";
}
else
{
$maininfo = "
-
Total {$totalpage} Page ".$this->TotalResult." Records
";
}
依照上面的方法,依次修改下面的獲取上一頁、主頁、下一頁、末頁的內容
2、打開列表模板頁面,我這以list_article_en.htm為例,其中l(wèi)ist_article_en.htm為英文版的列表頁面模板,中文版的可以不用修改
修改
?
{dede:pagelist listsize='5'/}
為
?
{dede:pagelist pagelang='en' listsize='5'/}
重新生成列表頁成功。不過還有一點美中不足的地方是雖然已經實現(xiàn)了列表頁的全英文分頁了,但是文章頁的“上一篇”、“上一頁”或“下一篇”、“下一頁”的功能還沒能搞定,小編會研究后和大家再繼續(xù)分享的。