今天在織夢論壇上看到很多咨詢關于分頁太多,導致頁碼導航全部顯示而撐破網頁或不太美觀的問題,當然相信很多用DedeCMS的站長朋友們多少也都遇到這樣的問題,如下圖所示:
導致頁碼導航全部顯示而撐破網頁或不太美觀的問題
那么該如何讓頁碼智能顯示,每頁只固定顯示當前頁的前后幾個呢?仔細想一下其實并不太難,首先我們需要知道解析分頁的文件是哪一個,一般情況下dedecms此類文件都會放在include下,用查找的方式找了一下“上一頁”,不用說也知道這是為什么要找它,因為這是分頁唯一的代碼!很快我們查找到了arc.archives.class.php文件,但是其中有兩處,仔細看了一下,第一處是列表頁用的,第二處是文章頁用的,下邊就來解決一下如何智能分頁,本人asp學的還可以,php就差多了,在5.1的時候記的有個朋友寫過,于是拿出來改了一下,修改方法如下:
打開include/arc.archives.class.php文件
dedecms5.1版本
inc_archives_view.php
dedecms 5.5 5.5是
arc.archives.class.php
找到GetPagebreakDM //修改的是列表頁
找到代碼:for($i=1;$i<=$totalPage;$i++) (注意:共有兩處,上面說了,改第二處,大約813行處,當然兩個都可以修改,上面的是動態頁面,下面的是靜態頁面)。
復制代碼 代碼如下:
$total_list=8; //只顯示8個頁碼 腳本之家(jb51.net)注
if($nowPage >= $total_list) {
$i = $nowPage-4; //顯示4頁
$total_list = $nowPage+4; //顯示4頁
if($total_list >= $totalPage) $total_list = $totalPage;
}else{
$i=1;
if($total_list >= $totalPage) $total_list = $totalPage;
}
for($i;$i<=$total_list;$i++)
再將for($i=1;$i<=$totalPage;$i++) 修改成for($i;$i<=$total_list;$i++)
找到GetPagebreak //修改的是內容頁,修改方法同上
接下來,保存arc.archives.class.php文件并上傳。登陸dede后臺,找到分頁比較多的文章,重新生成HTML,再看一下分頁的效果,如下圖:
看到效果了吧?就是不管有多少頁,只顯示當前頁的前四與后四個頁碼,以上圖為例,現在是第八頁,只顯示前邊到四和后邊到十二,趕快試一下吧,注意該方法只適合dedecms5.1、dedecms5.3和5.5哦。
此文由 網站目錄_網站網址收錄與提交入口 編輯,未經允許不得轉載?。?!--首頁 > 站長文章 > 織夢cms » DEDECMS內容頁分頁過多、過長問題最佳解決方案-->