DedeCMS的分页标签pagelist支持中英文的修改方法

不得不感叹DedeCMS的强大,可定制性和扩展性太强了,就算不懂php也可以很轻松的修改源码。 

今天碰到个新问题,用DedeCMS搞了个中英双语的网站,其他的都修改好了,上线之前发现分页条中英文版中都是中文的,于是自己动手DIY了一下。 

1、打开include/arc.listview.class.php(本文以DedeCMS5.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)); 

修改(约826行) 

return "<li><span class=\"pageinfo\">共 <strong>1</strong> 页 <strong>".$this->TotalResult."</strong> 条记录</span></li>\r\n"; 

为 

if($pagelang=='cn') { 

return "<li><span class=\"pageinfo\">共 <strong>1</strong> 页 <strong>".$this->TotalResult."</strong> 条记录</span></li>\r\n"; 

else 

return "<li><span class=\"pageinfo\">Total <strong>1</strong> Page <strong> ".$this->TotalResult."</strong> Records</span></li>\r\n"; 


修改 

return "<li><span class=\"pageinfo\">共 <strong>0</strong> 页 <strong>".$this->TotalResult."</strong> 条记录</span></li>\r\n"; 

为 

if($pagelang=='cn') { 
return "<li><span class=\"pageinfo\">共 <strong>0</strong> 页 <strong>".$this->TotalResult."</strong> 条记录</span></li>\r\n"; 

else 

return "<li><span class=\"pageinfo\">Total <strong>0</strong> Page <strong> ".$this->TotalResult."</strong> Records</span></li>\r\n"; 


修改 

$maininfo = "<li><span class=\"pageinfo\">共 <strong>{$totalpage}</strong> 页 <strong>".$this->TotalResult."</strong> 条</span></li>\r\n"; 

为 

if($pagelang=='cn') { 
$maininfo = "<li><span class=\"pageinfo\">共 <strong>{$totalpage}</strong> 页 <strong>".$this->TotalResult."</strong> 条</span></li>\r\n"; 

else 

$maininfo = "<li><span class=\"pageinfo\">Total <strong>{$totalpage}</strong> Page <strong> ".$this->TotalResult."</strong> Records</span></li>\r\n"; 


依照上面的方法,依次修改下面的获取上一页、主页、下一页、末页的内容 

2、打开列表模板页面,我这以list_article_en.htm为例,其中list_article_en.htm为英文版的列表页面模板,中文版的可以不用修改 
修改 

{dede:pagelist listsize='5'/} 

为 

{dede:pagelist pagelang='en' listsize='5'/} 

重新生成列表页面,大功告成。