程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> dedeCMS中內容頁分頁數目太多時隱藏方法

dedeCMS中內容頁分頁數目太多時隱藏方法

編輯:PHP綜合
在dede程序的文章或圖集模型,內容頁分頁過多,假如分頁80頁,那麼dede默認的內容分頁標簽{dede:pagebreak/}會把所有的分頁都顯示出來,這樣會撐破網頁模板,即使使用css控制可以解決這個撐破模板問題,用overflow:hidden就可以了,但是這樣話叫訪問者如何浏覽接下來的網頁呢?顯然這不是一個解決辦法。在dedecms官方論壇上看到一個高人給出解決方法,自己親自試驗,完全可行。

例如共分了50個分頁,通過修改代碼可以顯示為以下形式

第一個分頁情況是:共50頁: 上一頁12345678910下一頁

在第10分頁情況是: 共50頁: 上一頁67891011121314下一頁

基本就是這個顯示效果,
本教程在dedecms 5.7sp1中已經測試可用下面來具體說一下解決方法
修改文件位置:include/arc.archives.class.php
第一步,查找“function GetPagebreakDM($totalPage,$nowPage,$aid)”(動態頁面分頁函數)再往下找到

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)”(靜態頁面分頁函數),再往下找到

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個分頁地址 規律自行了解 很實用
-4 +4 例如 在第一頁 就顯示1-10 在第10頁 就顯示 10 前後的4頁,效果 6 7 8 9 10 11 12 13 14

特別注意

動態頁面分頁函數和靜態頁面分頁函數都要改動,如果只改動態頁面分頁函數那只支持dede5.31版本,如果兩個分頁函數全改,那麼不僅支持dede5.6也支持最新版dede5.7版本,推薦都改一改為好。

*
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved