最近访客
百度未收录

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

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

至此,修改完成。

温馨提示: 本文最后更新于2022/10/20 00:44:52。若文章内容或图片失效,请 留言联系站长反馈!
!
也想出现在这里? 联系我们
创意广告
© 版权声明
THE END
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容