打造簡單實用的Thinkphp分頁樣式(Bootstrap版本)


先吐槽一下ThinkPHP3.1版的分頁樣式,雖然看起來也很簡單大方,但是所有的頁碼全是使用簡單的數字,之間的空隙比較小,不大容易點,還有那個“前5頁”和“后5頁”顯得有點多余,因為點擊當前顯示第一頁的“上一頁”按鈕會自然出來前5頁。3.1的分頁效果是這個樣子滴:

QQ圖片20160729113016.png

針對以上種種不太理想的情況,又加上最近學習了ThinkPHP5,在ThinkPHP5中提供了對BootStrap分頁樣式的完美支持,在thinkphp5中只要引入了BootStrap.css文件,在使用Controller中使用分頁函數后,前台自然就會按照BootStrap的樣式來顯示,效果是這個樣子滴:

tp5p.png

而我開發頂求網的時候ThinkPHP5還沒出來,使用的是3.1版本,那么在3.1版中如何才能使用BootStrap的分頁組件呢?以下是解決辦法:

  1. 派生thinkphp的原生page.class.php類

    為了不影響核心文件(違反設計模式種的對修改封閉原則),我派生了一個子類ListPage,該子類代碼如下:

 import('ORG.Util.Page');// 導入分頁類
 class ListPage extends  Page
 {//針對本系統User控制器特點重寫Page類中相關函數
  
 /**
     * 分頁顯示輸出
     * @access public
     */
 	protected $config  = array('header'=>'條記錄','prev'=>'<','next'=>'>',
 	'first'=>'<<','last'=>'>>',
 	'theme'=>'%first%  %upPage%  %linkPage% %downPage%  %end%');
 	……

可以看到,首先導入核心類所處的文件,然后就可以大膽的派生了,而這里只列出了核心代碼。我們只需要修改page類中的Config變量就可以了,在子類中重寫該變量為上面的形式,然后再所有Action(Controller)中使用該子類來建立分頁對象即:

$Page=new ListPage($count,5);

這樣就可以使用我們上面的設置了,好了,搞定,新的分頁顯示效果如下:

newp.png

newp1.png

本文首發於頂求網,轉載請注明來源


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM