请选择 进入手机版 | 继续访问电脑版
查看: 38|回复: 0

Discuz门户DIY实现翻页功能实现方法

[复制链接]

648

主题

650

帖子

3342

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3342
发表于 2021-11-20 13:40:15 | 显示全部楼层 |阅读模式
Discuz程序有一个很好用的功能,那就是可以对页面布局进行DIY拖拽,使用起来非常方便。那么来讲讲如何在Discuz门户DIY实现翻页功能。

第一步:找到文件:\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. //首页翻页修改
  2. if($bid==53){
  3.         $page = $_REQUEST['page']?$_REQUEST['page']:1;
  4.         $startrow = ($page-1)*$items;
  5. }
复制代码

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


第二步,找到文件\source\function\function_block.php,定位到这里:
  1. if($forceupdate) {
  2.           block_updatecache($bid, true);
  3.           $block = $_G['block'][$bid];
  4.      }
复制代码

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

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

第三步,找到文件:\source\function\function_core.php
定位到这个方法:function block_display($bid)
在其方法内的尾部加入:
  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.         }
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|蓄财网 ( 豫ICP备2021002293号 )

GMT+8, 2021-11-29 23:04 , Processed in 0.095778 second(s), 32 queries .

蓄财网 ©版权所有

© 2021 蓄财网(www.aixc.cn)

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