discuz 門戶diy實現翻頁功能的修改記錄

  • PHP二次開發
  • 2015-8-13 09:11
  • PHP二次開發網
  • 閱讀(5682)
  • 評論(18
  • 摘要: 第一步:找到文件:\source\class\block\portal\block_article.php找到這個方法:function getdata($style, $parameter)將其修改為:function getdata($style, $parameter, $bid)在本文件再找到這樣一段話:php代碼 ...
    第一步:找到文件:\source\class\block\portal\block_article.php

    找到這個方法:function getdata($style, $parameter)

    將其修改為:function getdata($style, $parameter, $bid)

    在本文件再找到這樣一段話:

    [代碼]php代碼:

    $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");

    在其上方加入:
    //首頁翻頁修改

    [代碼]php代碼:

                    if($bid==53){
                        $page = $_REQUEST['page']?$_REQUEST['page']:1;
                        $startrow = ($page-1)*$items;
                    }

    這里的bid為diy的記錄id,查看方法可以通過firebug工具查看。此文中后面用到的bid均為此含義。


    第二部,找到文件\source\function\function_block.php

    定位到這里:

    [代碼]php代碼:

    if($forceupdate) {
              block_updatecache($bid, true);
              $block = $_G['block'][$bid];
         }

    在其上方加入:

    [代碼]php代碼:

     //如果是首頁最新文章,去掉緩存
        if ($bid == 53) {
            $forceupdate = 1;
        }

    在本文件,在查找這樣一句話:

    [代碼]php代碼:

    $return = $obj->getdata($thestyle, $block['param']);

    將其修改為:

    [代碼]php代碼:

    $return = $obj->getdata($thestyle, $block['param'],$bid);

    第三步,找到文件:\source\function\function_core.php

    定位到這個方法:function block_display($bid)

    在其方法內的尾部加入:

    [代碼]php代碼:

    //翻頁更改
            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;
            }


    至此,修改完成,案例請查看:www.fujvln.live



    PHP技術交流QQ群:422137578

    除非注明,文章均為 PHP二次開發 原創,轉載請注明本文地址:http://www.fujvln.live/article-1857-1.html

    相關閱讀

    發表評論

    最新評論

    引用 julyyun   2017-1-12 15:13
    PHP二次開發: 那是你沒做好
    我檢查了好幾遍了,代碼更改那邊應該沒什么問題,難道diy那邊有什么地方需要注意的嗎? 麻煩能告知下嗎?先謝謝啦
    引用 PHP二次開發   2017-1-12 09:41
    julyyun: 全部按照你的做了,前臺也出現了頁碼,可是每一頁都是同樣的數據啊,而且也不能限制一頁有多少條數據啊
    那是你沒做好
    引用 julyyun   2017-1-11 17:12
    全部按照你的做了,前臺也出現了頁碼,可是每一頁都是同樣的數據啊,而且也不能限制一頁有多少條數據啊
    引用 九五至尊老品牌值得   2016-5-7 09:58
    謝謝分享,幫我大忙了。
    引用 PHP二次開發   2016-4-12 08:41
    博主你好: 就是DIY高級模式下 鼠標懸停在模塊上左上角顯示的ID:
    是的哈,還真沒注意這個。
    引用 博主你好   2016-4-9 21:32
    PHP二次開發: 左上角沒顯示啥ID吧?通過firebug去看哈。
    就是DIY高級模式下 鼠標懸停在模塊上左上角顯示的ID:
    引用 PHP二次開發   2016-4-7 13:10
    博主你好: 又檢查了一遍,應該對了額,,文中說的 這里的bid為diy的記錄id,是不是就是指 DIY模塊左上角顯示的ID?
    左上角沒顯示啥ID吧?通過firebug去看哈。
    引用 博主你好   2016-4-6 21:51
    PHP二次開發: page的值沒有傳入到查詢語句,注意核對下更改代碼的地方,可能漏掉了某一部分。
    又檢查了一遍,應該對了額,,文中說的 這里的bid為diy的記錄id,是不是就是指 DIY模塊左上角顯示的ID?
    引用 PHP二次開發   2016-4-6 12:00
    博主你好: 有幾個錯別字。。是? ? 博主你好,按照你的教程做了,下方有了分頁,可是點擊第二頁,第三頁。。。等頁面之后顯示的還是首頁,不過網站鏈接后綴有?page=2,?page ...
    page的值沒有傳入到查詢語句,注意核對下更改代碼的地方,可能漏掉了某一部分。
    引用 博主你好   2016-4-5 21:57
    博主你好: 博主你好,按照你的教程做了,下方有了分頁,可以點擊第二頁,第三頁。。。等頁面后顯示的還是首頁,不過網站鏈接后綴有?page=2,?page=3。。。了請教這是什么原 ...
    有幾個錯別字。。是    博主你好,按照你的教程做了,下方有了分頁,可是點擊第二頁,第三頁。。。等頁面之后顯示的還是首頁,不過網站鏈接后綴有?page=2,?page=3。。。 請教這是什么原因呢? ...
    引用 博主你好   2016-4-5 21:55
    博主你好,按照你的教程做了,下方有了分頁,可以點擊第二頁,第三頁。。。等頁面后顯示的還是首頁,不過網站鏈接后綴有?page=2,?page=3。。。了請教這是什么原因呢
    引用 PHP二次開發   2016-3-25 08:53
    a1980: 請問作者,照您的作法做好后,請問如何在diy實現呢? 目前在diy的數據里加上&quot;{moreurl}&quot;,會出現更多頁的選單出來,但設定好后,卻無法實現,感覺真的 ...
    沒看明白。
    引用 a1980   2016-3-24 11:52
    請問作者,照您的作法做好后,請問如何在diy實現呢?
    目前在diy的數據里加上"{moreurl}",會出現更多頁的選單出來,但設定好后,卻無法實現,感覺真的只差一步了,是否能請作者提供,能實現的diy的數據呢?借以參考,謝謝!
    引用 PHP二次開發   2016-2-28 14:36
    xiaocai: 您好,按照上面教程修改后,點擊任意分頁碼都跳轉到論壇首頁。。
    你是做的論壇還是門戶?注意設置好默認頁面,可以去掉跳轉的尾巴。
    引用 xiaocai   2016-2-27 15:20
    您好,按照上面教程修改后,點擊任意分頁碼都跳轉到論壇首頁。。
    引用 PHP二次開發   2016-2-11 15:34
    愛善美: 按照你的教材操作了沒有成功,請教第3步代碼應該加在那個位置,第2步找到兩個$return = $obj->getdata($thestyle, $block ); 都要改嗎 ...
    第三步放到函數結尾的}里面。第二步我記得只找到一處呢,你可以兩處都改了試試。
    引用 愛善美   2016-2-9 19:59
    按照你的教材操作了沒有成功,請教第3步代碼應該加在那個位置,第2步找到兩個$return = $obj->getdata($thestyle, $block['param']); 都要改嗎
    引用 愛善美   2016-2-9 19:57
    請教第3不代碼應該加在那個位置

    查看全部評論(18)

    用戶名:  *

    郵 箱:  *

    網 址: 注意加上“http://”哦!