成长值: 770
TA的每日心情 开心 2024-3-24 02:35
签到天数: 5 天
[LV.2]圆转纯熟
灌水成绩
等级头衔
ID : 2
超级版主
积分成就
威望 : 1
点
贡献 : 0 次
杰币 : 105399 枚
在线时间 : 165 小时
注册时间 : 2022-1-8
最后登录 : 2024-4-17
荣誉勋章
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; } 复制代码 至此,修改完成。