Home > Article > CMS Tutorial > How does dedecms realize the Chinese and English paging function?
dedecmsHow to implement Chinese and English paging function?
Preface
When I was doing a project before, I encountered a requirement. Because it is a Chinese and English version of the website, the paging also needs the corresponding English. I searched forums, Baidu and other places for a long time but couldn't find a satisfactory answer. However, I found the following content today and tested it. I found that it can be suitable for the latest version 5.7 of Dream Weaver, and it has been successfully implemented, so I would like to share it with you. :
Warm reminder: The following lines and lines can be ignored and indexed using DW's search function to easily find the target code. Some of the codes below cannot be searched, just because of some "space" problems. You can find them by paying attention when modifying them.
1. Open include/arc.listview.class.php (this article takes DedeCMS5.7 as an example)
Find (about 29 lines)
var $remoteDir;
Add below it Previous new line
var $pagelang;
Found (about 528 lines)
$list_len = trim($ctag->GetAtt("listsize"));
Add a new line below it
$pagelang = trim($ctag->GetAtt("pagelang"));
Found (about 531 lines)
if($list_len=="") { $list_len = 3; }
Add
if($pagelang=="") { $pagelang = 'cn'; }
below it to modify (about 545 lines)
$this->dtp->Assign($tagid,$this->GetPageListST($list_len,$listitem));
is
$this->dtp->Assign($tagid,$this->GetPageListST($list_len,$listitem,$pagelang));
modify (new)
function GetPageListST($list_len,$listitem="index,end,pre,next,pageno")
is
function GetPageListST($list_len,$listitem="index,end,pre,next,pageno",$pagelang='cn')
Modified (about 826 lines)
return "<li><span class=\"pageinfo\">共 <strong>1</strong>页<strong>".$this->TotalResult."</strong> 条记录</span></li>\r\n";
is modified to
if($pagelang=='cn') { return "<li><span class=\"pageinfo\">共 <strong>1</strong>页<strong>".$this->TotalResult."</strong> 条记录</span></li>\r\n"; } else { return "
return "<li><span class=\"pageinfo\">共 <strong>0</strong>页<strong>".$this->TotalResult."</strong>条记录</span></li>\r\n";
is modified to
if($pagelang=='cn') { return "<li><span class=\"pageinfo\">共 <strong>0</strong>页<strong>".$this->TotalResult."</strong>条记录</span></li>\r\n"; } else { return "
$maininfo = "<li><span class=\"pageinfo\">共 <strong>{$totalpage}</strong> 页 <strong>".$this->TotalResult."</strong> 条</span></li>\r\n";
For
if($pagelang=='cn') { $maininfo = "<li><span class=\"pageinfo\">共 <strong>{$totalpage}</strong> 页 <strong>".$this->TotalResult."</strong> 条</span></li>\r\n"; } else { $maininfo = "
Follow the above method and modify the following to obtain the content of the previous page, home page, next page, and last page
2. Open the list template page, I will use list_article_en. htm as an example, where list_article_en.htm is the English version of the list page template, the Chinese version can be regenerated successfully without modifying
, modifying
{dede:pagelist listsize='5'/}
to
{dede:pagelist pagelang='en' listsize='5'/}
. However, there is still a fly in the ointment. Although the full English paging of the list page has been implemented, the "previous article", "previous page" or "next article" and "next page" functions of the article page are still not available. I haven’t been able to figure it out yet, so I will continue to share it with you after researching it.
The above is the detailed content of How does dedecms realize the Chinese and English paging function?. For more information, please follow other related articles on the PHP Chinese website!