網(wǎng)CMS教程 今天在織夢(mèng)論壇上看到很多咨詢關(guān)于分頁太多,導(dǎo)致頁碼導(dǎo)航全部顯示而撐破網(wǎng)頁或不太美觀的問題,當(dāng)然相信很多用DedeCMS的站長朋友們多少也都遇到這樣的問題,如下圖所示:
導(dǎo)致頁碼導(dǎo)航全部顯示而撐破網(wǎng)頁或不太美觀的問題
那么該如何讓頁碼智能顯示,每頁只固定顯示當(dāng)前頁的前后幾個(gè)呢?仔細(xì)想一下其實(shí)并不太難,首先我們需要知道解析分頁的文件是哪一個(gè),一般情況下dedecms此類文件都會(huì)放在include下,用查找的方式找了一下“上一頁</a></li>”,不用說也知道這是為什么要找它,因?yàn)檫@是分頁唯一的代碼!很快我們查找到了arc.archives.class.php文件,但是其中有兩處,仔細(xì)看了一下,第一處是列表頁用的,第二處是文章頁用的,下邊就來解決一下如何智能分頁,本人asp學(xué)的還可以,php就差多了,在5.1的時(shí)候記的有個(gè)朋友寫過,于是拿出來改了一下,修改方法如下:
找到代碼:for($i=1;$i<=$totalPage;$i++) (注意:共有兩處,上面說了,改第二處,大約813行處)。
將以上代碼替換為:
>$total_list=8; //只顯示8個(gè)頁碼 網(wǎng)(liehuo.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++) |
接下來,保存arc.archives.class.php文件并上傳。登陸dede后臺(tái),找到分頁比較多的文章,重新生成HTML,再看一下分頁的效果,如下圖:
看到效果了吧?就是不管有多少頁,只顯示當(dāng)前頁的前四與后四個(gè)頁碼,以上圖為例,現(xiàn)在是第八頁,只顯示前邊到四和后邊到十二,趕快試一下吧,注意該方法只適合dedecms5.3和5.5哦。歡迎您繼續(xù)瀏覽網(wǎng)的其它內(nèi)容。