建站学习网,专业提供各类建站教程,网页素材,SEO资讯等建站资源!

网站模板_网站源码_网站素材_建站教程_建站学习网

当前位置:建站学习网 > 建站教程 > Discuz教程 >

Discuz门户diy实现翻页功能的方法

更新时间:2022-11-20整理编辑:建站学习网阅读:0

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

至此,修改完成。

本文网址:https://www.dedexuexi.com/jzjc/dzjc/3590.html

本站部分文章搜集与网络,如有侵权请联系本站,转载请说明出处。

收藏此文 赞一下!() 打赏本站

如本文对您有帮助,就请建站学习网抽根烟吧!

支付宝打赏
微信打赏
Discuz触屏版不能显示分类信息bug修复如下
« 上一篇2022年11月20日
Discuz批量删除等待验证的会员的方法
2022年11月20日下一篇 »
  • Discuz注册提示“邮箱、密码等无效” 临时解决方案
    0阅读
    问题现象:注册的时候,输入正确的邮箱,或者密码确认的时候,提示输入不正确问题原因:由于注册表单中name是随机产生的,当产生name为纯数字的时候会产生问题。解决方案:打开function_core.php,找到random函数function random($length, $numeric = ...
  • Discuz调用函数实现同步登录与退出核心代码
    0阅读
    登录与退出实现同步的问题困扰了好久,忙里偷闲将部分代码抽取出来,写成函数,这样以后登录与退出只要调用一下这两个函数就可以,感兴趣的朋友可以学习下哦这个问题折磨了好久,今天特意抽出一些时间来看看discuz的源代码,将部分代码抽取出来,写成函数,这样以后登录与退出只要调用一下这两个函数就可以了。代码如...
  • Discuz教程:Discuz x3.1页面空白解决方法
    0阅读
    今天找时间分析了一下,找到了页面空白的原因,可能是因为php版本兼容性的问题所致,所以只是部分用户遇到这种情况,这里分享一下。经过分析发现是source/function/function_core.php文件中一处代码的原因:代码如下:static $replacements = array( "...
  • Discuz修改文章标题更好的SEO的方法(discuz首页怎么修改)
    0阅读
    Discuz修改文章标题更好的SEO的方法,方法很简单,可以更了的SEO我们使用Discuz的站长都知道,帖子的标题一般都是文章标题+板块+网站名称。我们现在要简化怎么办?找到/source/module/forum/forum_viewthread.php这个文件然后找到:$navtitle = ...
  • Discuz 批量删除的sql命令小结
    0阅读
    这篇文章主要介绍了discuz批量删除内容的一些sql语句,比去后台选择的方便1:批量删除回帖pre_forum_post表中存储的是论坛帖子和回复。每增加一个帖子或者回复,pid值+1.first值为1的,代表是主题。first值为0的,代表是回帖。delete from pre_forum_po...
 
QQ在线咨询