• 网站认证
  • 教程:6,666|
  • 话题:6,323|
  • 评论:54|
  • 会员:234|
  • 注册
  • 查看作者
  • discuz教程:门户diy实现翻页功能的方法

    1、打开 sourceclasslockportallock_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 unction unction_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 unction unction_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;

    }

    至此,修改完成。

  • 0
  • 0
  • 0
  • 132
  • 请登录之后再进行评论

    登录
  • 做任务
  • 实时动态
  • 偏好设置
  • 单栏布局 侧栏位置: