discuz门户diy实现翻页功能的方法


  1、打开 \source\class\block\portal\block_article.php 文件 找到 function getdata($style, $parameter) 修改为 function getdata($style, $parameter, $bid) 找到 $query = DB::query(“SELECT at.*, ac.viewnum, ac.commentnum FROM “.DB::table(‘portal_article_title’).” at LEFT JOIN “.DB::table(‘portal_article_count’).” ac ON at.aid=ac.aid WHERE $wheresql$keyword ORDER BY $orderby LIMIT $startrow, $items”); 在其上方加入: //首页翻页修改 if($bid==53){     $page = $_REQUEST[‘page’]?$_REQUEST[‘page’]:1;     $startrow = ($page-1)*$items; } 这里的bid为diy的记录id,查看方法可以通过firebug工具查看。此文中后面用到的bid均为此含义。   2、打开 \source\function\function_block.php 文件 找到 if($forceupdate) {           block_updatecache($bid, true);           $block = $_G[‘block’][$bid];      } 在其上方加入: //如果是首页最新文章,去掉缓存     if ($bid == 53) {         $forceupdate = 1;     } 找到 $return = $obj->getdata($thestyle, $block[‘param’]); 修改为 $return = $obj->getdata($thestyle, $block[‘param’],$bid);   3、打开 \source\function\function_core.php 文件 找到 function block_display($bid) 方法 在其方法内的尾部加入: //翻页更改 if($bid==53){     $page = $_REQUEST[‘page’]?$_REQUEST[‘page’]:1;     $html = “<style>”         . “.page{padding:10px; float:left;}”         . “.page li{float:left; line-height:20px; padding:8px; font-size:16px;}”         . “.page li .on{color:#f57500; font-weight:800;}”         . “</style>”;     $html .= ‘<div class=”page”><ul>’;     if($page<11){     for($i=1;$i<21;$i++){         if($page == $i){         $html.='<li><a href=”/?page=’.$i.'” class=”on”>’.$i.'</a></li>’;         }else{         $html.='<li><a href=”/?page=’.$i.'”>’.$i.'</a></li>’;         }     }     }else{     for($i=$page-9;$i<$page;$i++){         $html.='<li><a href=”/?page=’.$i.'”>’.$i.'</a></li>’;     }     $html.='<li><a href=”/?page=’.$page.'” class=”on”>’.$page.'</a></li>’;     for($i=$page+1;$i<$page+10;$i++){         $html.='<li><a href=”/?page=’.$i.'”>’.$i.'</a></li>’;     }     }    $html .= “</ul></div>”;    echo $html; } 至此,修改完成。