discuz教程:门户diy实现翻页功能的方法-Discuz教程下载

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

开通本站Svip会员,全站资源免费下
1、打开 \source\class\block\portal\block_article.php 文件
找到
function getdata($style, $parameter)
修改为
function getdata($style, $parameter, $bid)
找到
  1. $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");
复制代码

在其上方加入:
//首页翻页修改
  1. if($bid==53){
  2.     $page = $_REQUEST['page']?$_REQUEST['page']:1;
  3.     $startrow = ($page-1)*$items;
  4. }
复制代码

这里的bid为diy的记录id,查看方法可以通过firebug工具查看。此文中后面用到的bid均为此含义。

2、打开 \source\function\function_block.php 文件
找到
  1. <span style="color: rgb(0, 0, 0); font-family: 宋体, Arial, Helvetica, sans-serif; line-height: 25.2px;">if($forceupdate) {
  2.           block_updatecache($bid, true);
  3.           $block = $_G['block'][$bid];
  4.      }</span>
  5. <span style="color: rgb(0, 0, 0); font-family: 宋体, Arial, Helvetica, sans-serif; line-height: 25.2px;">在其上方加入</span>
复制代码

//如果是首页最新文章,去掉缓存
  1.     if ($bid == 53) {
  2.         $forceupdate = 1;
  3.     }
复制代码

找到
  1. $return = $obj->getdata($thestyle, $block['param']);
复制代码

修改为
  1. $return = $obj->getdata($thestyle, $block['param'],$bid);
复制代码


3、打开 \source\function\function_core.php 文件
找到 function block_display($bid) 方法
在其方法内的尾部加入:
//翻页更改
  1. if($bid==53){
  2.     $page = $_REQUEST['page']?$_REQUEST['page']:1;
  3.     $html = "<style>"
  4.         . ".page{padding:10px; float:left;}"
  5.         . ".page li{float:left; line-height:20px; padding:8px; font-size:16px;}"
  6.         . ".page li .on{color:#f57500; font-weight:800;}"
  7.         . "</style>";
  8.     $html .= '<div class="page"><ul>';
  9.     if($page<11){
  10.     for($i=1;$i<21;$i++){
  11.         if($page == $i){
  12.         $html.='<li><a href="/?page='.$i.'" class="on">'.$i.'</a></li>';
  13.         }else{
  14.         $html.='<li><a href="/?page='.$i.'">'.$i.'</a></li>';
  15.         }
  16.     }
  17.     }else{
  18.     for($i=$page-9;$i<$page;$i++){
  19.         $html.='<li><a href="/?page='.$i.'">'.$i.'</a></li>';
  20.     }
  21.     $html.='<li><a href="/?page='.$page.'" class="on">'.$page.'</a></li>';
  22.     for($i=$page+1;$i<$page+10;$i++){
  23.         $html.='<li><a href="/?page='.$i.'">'.$i.'</a></li>';
  24.     }
  25.     }
  26.    $html .= "</ul></div>";
  27.    echo $html;
  28. }
复制代码

至此,修改完成。

全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部