|
不得不感叹DedeCMS的强大,可定制性和扩展性太强了,就算不懂php也可以很轻松的修改源码。
今天碰到个新问题,用DedeCMS搞了个中英双语的网站,其他的都修改好了,上线之前发现分页条中英文版中都是中文的,于是自己动手DIY了一下。
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));
修改(约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";
}
修改
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'/}
重新生成列表页面,大功告成。 |
|