先吐槽一下thinkphp3.1版的分頁樣式,雖然看起來也很簡單大方,但是所有的頁碼全是使用簡單的數字,之間的空隙比較小,不大容易點,還有那個“前5頁”和“后5頁”顯得有點多余,因為點擊當前顯示第一頁的“上一頁”按鈕會自然出來前5頁。
3.1的分頁效果是這個樣子滴:
針對以上種種不太理想的情況,又加上最近學習了thinkphp5,在thinkphp5中提供了對bootstrap分頁樣式的完美支持,在thinkphp5中只要引入了bootstrap.css文件,在使用controller中使用分頁函數后,前臺自然就會按照bootstrap的樣式來顯示,效果是這個樣子滴:
而我開發頂求網的時候thinkphp5還沒出來,使用的是3.1版本,那么在3.1版中如何才能使用bootstrap的分頁組件呢?以下是解決辦法:
1.派生thinkphp的原生page.class.php類
為了不影響核心文件(違反設計模式種的對修改封閉原則),我派生了一個子類listpage,該子類代碼如下:
1
2
3
4
5
6
7
8
9
10
11
|
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)中使用該子類來建立分頁對象即:
1
|
$page = new listpage( $count ,5); |
這樣就可以使用我們上面的設置了,好了,搞定,新的分頁顯示效果如下:
以上所述是小編給大家介紹的thinkphp和bootstrap結合打造個性的分頁樣式(推薦),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
原文鏈接:http://www.cnblogs.com/nerd/p/5717808.html