Moke|墨客

 找回密码
 立即注册
搜索
查看: 10495|回复: 0

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

[复制链接]

3636

主题

0

回帖

3681

积分

超级版主

Rank: 8Rank: 8

积分
3681
发表于 2016-5-9 15:33:00 | 显示全部楼层 |阅读模式



    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;
}

至此,修改完成。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

 

 

快速回复 返回顶部 返回列表