dedecms織夢實現中英文分頁功能的範例程式碼分享

來源:互聯網
上載者:User
相信每位曾經的織夢新手,都會碰到以下的幾個問題,第一個就是織夢的留言板功能外觀上不大適合企業網站,第二個就是做英文版的時候,分頁同樣實現英文的比較困難,這篇文章就給大家分享了在dedecms中如何?中英文分頁功能,有需要的朋友們可以參考借鑒。

dedecms模板下載地址: www.php.cn/xiazai/code/dedecms

前言

之前做項目的時候遇到一個需求,因為是中英文版本的網站,所以分頁也就需要對應的英文,在論壇、百度等地方搜尋了很久均沒能找到滿意的答案,不過今天找到下面這篇內容,並進行測試,發現可以適合織夢目前最新的5.7版,並且已經成功的實現,所以與大家分享下:

溫馨提示:下面的第幾行,第幾行可以忽略,用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行)

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));

修改(新增)

function GetPageListST($list_len,$listitem="index,end,pre,next,pageno")

function GetPageListST($list_len,$listitem="index,end,pre,next,pageno",$pagelang='cn')

修改(約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>&nbsp;".$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>&nbsp;".$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>&nbsp;".$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'/}

重建列表頁成功。不過還有一點美中不足的地方是雖然已經實現了列表頁的全英文分頁了,但是文章頁的“上一篇”、“上一頁”或“下一篇”、“下一頁”的功能還沒能搞定,小編會研究後和大家再繼續分享的。

總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.