如何解決dedecms內(nèi)容頁分頁問題
據(jù)很多織夢的粉絲們反應(yīng),織夢DEDECMS內(nèi)容頁和圖片集頁面如果分頁太多就會出現(xiàn)錯位。那么用織夢dedecms默認(rèn)的內(nèi)容分頁標(biāo)簽{dede:pagebreak/}會把所有的分頁都會顯示出來,這樣明顯會撐破網(wǎng)站本身的模板,即使使用css控制可以解決這個撐破模板問題,用overflow:hidden就可以了,但是這樣話叫訪問者如何瀏覽接下來的網(wǎng)頁呢?顯然這不是一個解決辦法。那么這個怎么解決呢?在dedecms官方論壇上看到一位高人給出解決方法,長沙做網(wǎng)站的嚴(yán)微站長親自試驗(yàn)了,是可以使用的。
例如該文章內(nèi)容共分了80個分頁,通過修改代碼可以顯示為以下形式:
第一個分頁情況是:共80頁: 上一頁12345678910下一頁
在第10分頁情況是: 共80頁: 上一頁67891011121314下一頁
基本就是這個顯示效果,只是遺憾沒有 末頁鏈接
具體修改如下,適用版本dede5.31和dede5.5,其他版本沒有測試過
修改文件位置:include/arc.archives.class.php
第一步,查找“function GetPagebreakDM($totalPage,$nowPage,$aid)”(動態(tài)頁面分頁函數(shù))再往下找到
for($i=1;$i<=$totalPage;$i++)
修改為
$total_list=10; if($nowPage >= $total_list) { $i = $nowPage-4; $total_list = $nowPage+4; if($total_list >= $totalPage) $total_list = $totalPage; }else{ $i=1; if($total_list >= $totalPage) $total_list = $totalPage; } for($i;$i<=$total_list;$i++)
第二步,查找“function GetPagebreak($totalPage,$nowPage,$aid)”(靜態(tài)頁面分頁函數(shù)),再往下找到
for($i=1;$i<=$totalPage;$i++)
改為
$total_list=10; if($nowPage >= $total_list) { $i = $nowPage-4; $total_list = $nowPage+4; if($total_list >= $totalPage) $total_list = $totalPage; }else{ $i=1; if($total_list >= $totalPage) $total_list = $totalPage; } for($i;$i<=$total_list;$i++)
注意$total_list=10;為首個分頁顯示10個分頁地址 規(guī)律自行了解 很實(shí)用
-4 +4 例如 在第一頁 就顯示1-10 在第10頁 就顯示 10 前后的4頁,效果 6 7 8 9 10 11 12 13 14
特別注意
動態(tài)頁面分頁函數(shù)和靜態(tài)頁面分頁函數(shù)都要改動,如果只改動態(tài)頁面分頁函數(shù)那只支持dede5.31版本,如果兩個分頁函數(shù)全改,那么不僅支持dede5.31也支持最新版dede5.5版本,推薦都改一改為好。
好了,已經(jīng)較完美解決分頁多的難題了,dede開源代碼給我們修改一些核心代碼很有幫助。dedecms不愧是網(wǎng)站建設(shè)利器。呵呵!織夢的粉絲之一“長沙做網(wǎng)站”,我們在加油。
Copyright © 2009-2019 Ywcms.Com All Right Reserved. 湘ICP備16006489號-2