Discuz开发 discuz 门户diy实现翻页功能的修改记录

[复制链接]
lij2960 发表于 2015-8-16 10:46:49 [Discuz开发] 显示全部楼层 |阅读模式 上一主题 下一主题

马上注册,一起探讨正确快速的建站方法

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
第一步:找到文件:\source\class\block\portal\block_article.php

找到这个方法:function getdata($style, $parameter)

将其修改为:function getdata($style, $parameter, $bid)

在本文件再找到这样一段话:
[代码]php代码:
  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");
复制代码


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


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


第二部,找到文件\source\function\function_block.php

定位到这里:
[代码]php代码:
  1. if($forceupdate) {
  2.           block_updatecache($bid, true);
  3.           $block = $_G['block'][$bid];
  4.      }
复制代码


在其上方加入:

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


在本文件,在查找这样一句话:
[代码]php代码:
  1. $return = $obj->getdata($thestyle, $block['param']);
复制代码


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


第三步,找到文件:\source\function\function_core.php

定位到这个方法:function block_display($bid)

在其方法内的尾部加入:

[代码]php代码:
  1. //翻页更改
  2.         if($bid==53){
  3.             $page = $_REQUEST['page']?$_REQUEST['page']:1;
  4.             $html = "<style>"
  5.                     . ".page{padding:10px; float:left;}"
  6.                     . ".page li{float:left; line-height:20px; padding:8px; font-size:16px;}"
  7.                     . ".page li .on{color:#f57500; font-weight:800;}"
  8.                     . "</style>";
  9.             $html .= '<div class="page"><ul>';
  10.             if($page<11){
  11.                 for($i=1;$i<21;$i++){
  12.                     if($page == $i){
  13.                         $html.='<li><a href="/?page='.$i.'" class="on">'.$i.'</a></li>';
  14.                     }else{
  15.                         $html.='<li><a href="/?page='.$i.'">'.$i.'</a></li>';
  16.                     }
  17.                 }
  18.             }else{
  19.                 for($i=$page-9;$i<$page;$i++){
  20.                     $html.='<li><a href="/?page='.$i.'">'.$i.'</a></li>';
  21.                 }
  22.                 $html.='<li><a href="/?page='.$page.'" class="on">'.$page.'</a></li>';
  23.                 for($i=$page+1;$i<$page+10;$i++){
  24.                     $html.='<li><a href="/?page='.$i.'">'.$i.'</a></li>';
  25.                 }
  26.             }
  27.            $html .= "</ul></div>";
  28.            echo $html;
  29.         }
复制代码



至此,修改完成,案例请查看:www.php2.cc




上一篇:请在注册网站资料并绑定 QQ 帐号后再下载此应用
下一篇:Discuz小米论坛样式,论坛首页列表展示+分页

大神点评2

shaba 发表于 2015-8-22 15:57:14 [Discuz开发] 显示全部楼层
强烈支持,站帮网有你更精彩
世界杯在线直播http://www.shuibba.com
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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