近日用的cms着手做了一个多语言网站,对于dede的分页样式是封装在函数中的,对此对于不同语言版本的分页信息展示,则需要修改其文件中的定义,所以自己修改了一下:
1.修改文件include/arc.listview.class.php
在约45行var $remoteDir;下加var $pagelang;//语言
找到(约528行)
$list_len = trim($ctag->GetAtt("listsize"));
在其下面加上一个新行
$pagelang = trim($ctag->GetAtt("pagelang"));
在方法ParseDMFields中
约627-630行
627 if($list_len=="")
628 {
629 $list_len = 3;
630 }
下加
if($pagelang=="")//语言
{
$pagelang = 'cn';//
}
修改(约545行)
修改
$this->dtp->Assign($tagid,$this->GetPageListDM($list_len,$listitem));
为
$this->dtp->Assign($tagid,$this->GetPageListDM($list_len,$listitem,$pagelang));
$this->dtp->Assign($tagid,$this->GetPageListST($list_len,$listitem));
为
$this->dtp->Assign($tagid,$this->GetPageListST($list_len,$listitem,$pagelang));
然后修改文件向下的所有关于的分页的信息:
方法GetPageListST与方法GetPageListDM中
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";
}
以下的分页皆如上判断皆可。
2、打开列表模板页面,以我的模板文件en_list_artical.htm英文版的列表页面模板,中文版的可以不用修改
修改
{dede:pagelist listsize='5'/}
为
{dede:pagelist listsize='5' pagelang='en' /}
重新生成列表页面,哦也,顺利完成。