找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 6042|回复: 6

门户或论坛,DIY的文章列表,想做分页或加载更多,

 火.. [复制链接]
发表于 2018-4-27 15:55:35 | 显示全部楼层 |阅读模式
网上找到的办法就只有分页,而且是有问题的,无限分页


  1. 1、打开 \source\class\block\portal\block_article.php 文件
  2. 找到
  3. function getdata($style, $parameter)
  4. 修改为
  5. function getdata($style, $parameter, $bid)
  6. 找到
  7. $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");
  8. 在其上方加入:
  9. //首页翻页修改
  10. if($bid==53){
  11.     $page = $_REQUEST['page']?$_REQUEST['page']:1;
  12.     $startrow = ($page-1)*$items;
  13. }
  14. 这里的bid为diy的记录id,查看方法可以通过firebug工具查看。此文中后面用到的bid均为此含义。

  15. 2、打开 \source\function\function_block.php 文件
  16. 找到
  17. if($forceupdate) {
  18.           block_updatecache($bid, true);
  19.           $block = $_G['block'][$bid];
  20.      }
  21. 在其上方加入:
  22. //如果是首页最新文章,去掉缓存
  23.     if ($bid == 53) {
  24.         $forceupdate = 1;
  25.     }
  26. 找到
  27. $return = $obj->getdata($thestyle, $block['param']);
  28. 修改为
  29. $return = $obj->getdata($thestyle, $block['param'],$bid);

  30. 3、打开 \source\function\function_core.php 文件
  31. 找到 function block_display($bid) 方法
  32. 在其方法内的尾部加入:
  33. //翻页更改
  34. if($bid==53){
  35.     $page = $_REQUEST['page']?$_REQUEST['page']:1;
  36.     $html = "<style>"
  37.         . ".page{padding:10px; float:left;}"
  38.         . ".page li{float:left; line-height:20px; padding:8px; font-size:16px;}"
  39.         . ".page li .on{color:#f57500; font-weight:800;}"
  40.         . "</style>";
  41.     $html .= '<div class="page"><ul>';
  42.     if($page<11){
  43.     for($i=1;$i<21;$i++){
  44.         if($page == $i){
  45.         $html.='<li><a href="/?page='.$i.'" class="on">'.$i.'</a></li>';
  46.         }else{
  47.         $html.='<li><a href="/?page='.$i.'">'.$i.'</a></li>';
  48.         }
  49.     }
  50.     }else{
  51.     for($i=$page-9;$i<$page;$i++){
  52.         $html.='<li><a href="/?page='.$i.'">'.$i.'</a></li>';
  53.     }
  54.     $html.='<li><a href="/?page='.$page.'" class="on">'.$page.'</a></li>';
  55.     for($i=$page+1;$i<$page+10;$i++){
  56.         $html.='<li><a href="/?page='.$i.'">'.$i.'</a></li>';
  57.     }
  58.     }
  59.    $html .= "</ul></div>";
  60.    echo $html;
  61. }
复制代码



这种方法出来的分页是无限翻页的
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|Discuz代码分析|Discuz目录结构|DZ起点网 ( 蜀ICP备13000518号-15 )

GMT+8, 2024-4-27 05:57 , Processed in 0.049113 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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