先吐槽一下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,該子類代碼如下:
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);
這樣就可以使用我們上面的設定了,好了,搞定,新的分頁顯示效果如下:
以上所述是小編給大家介紹的Thinkphp和Bootstrap結合打造個性的分頁樣式(推薦),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對腳本之家網站的支持!