本文實(shí)例講述了thinkPHP5分頁功能實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
其實(shí)分頁自身的內(nèi)容也不是很多。不過牽扯到樣式的問題感覺挺煩。于是找到了分頁類看了一下。把大體的結(jié)構(gòu)說一下。如果有需要修改頁面樣式的可以自行修改樣式。最好提前備份,防止意外。
首先是分頁的調(diào)用,tp5的調(diào)用相對(duì)非常容易
- $mod = new /app/index/model/Blogmsg();
- $mo = $mod->paginate(1,14);
- $this->assign('list', $mo);
- // 渲染模板輸出
- return $this->fetch('list');
- //模板方面
- <div>
- <ul>
- {volist name='list' id='user'}
- <li> {$user.nickname}</li>
- {/volist}//Vevb.com
- </ul>
- </div>
- {$list->render()}
函數(shù)的第一個(gè)參數(shù)是每一頁顯示幾個(gè),第二個(gè)參數(shù)是總共顯示多少頁。
(本來有10頁,你只寫5頁,那么6-10頁是不會(huì)顯示的,但是地址欄該參數(shù)還是可以跳轉(zhuǎn)過去獲取對(duì)應(yīng)的內(nèi)容…)
thinkPHP5分頁功能實(shí)現(xiàn)方法分析
默認(rèn)的是這樣的效果。不過這是在bootstrap模板下才有的效果。專門根據(jù)bootstrap的特點(diǎn)做的命名。
也就是說,在其他的模板下,只是單純的數(shù)字。
分頁的文件的位置在thinkphplibrarythinkpaginator里。
driver里有一個(gè)分頁樣式的原版。直接改不利于后期維護(hù)。而且tp5也給你一個(gè)非常方便的修改方法。文件夾內(nèi)源文件復(fù)制粘貼重新命名。然后改一句話class Bootstrap extends Paginator中的Bootstrap改成文件的名字。再去config.php里找到分頁相關(guān)的配置。
'type' => 'bootstrap',改成你的文件名字。就可以直接調(diào)用了。
我把幾個(gè)牽扯到樣式的函數(shù)名稱列出來,簡單的說一下存在的意義。
render()渲染分頁,大白話就是這個(gè)分頁類的主體。
- return sprintf(
- '<ul class="pagination">%s %s %s</ul>',
- $this->getPreviousButton(),
- $this->getLinks(),
- $this->getNextButton()
- );
這里就牽扯到css的樣式,可以根據(jù)自己的需要替換。
頁碼自身沒有首頁和尾頁單項(xiàng)。(但是函數(shù)為你提供了尾頁的值)
可以自己去做一個(gè)填寫。復(fù)制getNextButton()進(jìn)行相關(guān)的修改就可以了。
在getNextButton()函數(shù)里會(huì)看見另外兩個(gè)函數(shù)
getAvailablePageWrapper(url,page)和getDisabledTextWrapper($text)。
剛剛的渲染函數(shù)是可以理解為箱體,這兩個(gè)函數(shù)可以理解為按鈕了。想改樣式在這里該就行了。能做到這里的都不會(huì)有太大的問題。
getLinks()則是管中間的。看代碼基本是也能看出來大體意思。修改分頁基本從這些地方著手就可以了。
|
新聞熱點(diǎn)
疑難解答
圖片精選