小編給大家分享一下thinkPHP5如何實(shí)現(xiàn)分頁(yè)功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)長(zhǎng)期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為墾利企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站設(shè)計(jì),墾利網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。具體如下:
其實(shí)分頁(yè)自身的內(nèi)容也不是很多。不過牽扯到樣式的問題感覺挺煩。于是找到了分頁(yè)類看了一下。把大體的結(jié)構(gòu)說一下。如果有需要修改頁(yè)面樣式的可以自行修改樣式。好提前備份,防止意外。
首先是分頁(yè)的調(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'); //模板方面{$list->render()}{volist name='list' id='user'}
- {$user.nickname}
{/volist}
函數(shù)的第一個(gè)參數(shù)是每一頁(yè)顯示幾個(gè),第二個(gè)參數(shù)是總共顯示多少頁(yè)。
(本來有10頁(yè),你只寫5頁(yè),那么6-10頁(yè)是不會(huì)顯示的,但是地址欄該參數(shù)還是可以跳轉(zhuǎn)過去獲取對(duì)應(yīng)的內(nèi)容…)
默認(rèn)的是這樣的效果。不過這是在bootstrap模板下才有的效果。專門根據(jù)bootstrap的特點(diǎn)做的命名。
也就是說,在其他的模板下,只是單純的數(shù)字。
分頁(yè)的文件的位置在thinkphp\library\think\paginator里。
driver里有一個(gè)分頁(yè)樣式的原版。直接改不利于后期維護(hù)。而且tp5也給你一個(gè)非常方便的修改方法。文件夾內(nèi)源文件復(fù)制粘貼重新命名。然后改一句話class Bootstrap extends Paginator中的Bootstrap改成文件的名字。再去config.php里找到分頁(yè)相關(guān)的配置。
'type' => 'bootstrap'
,改成你的文件名字。就可以直接調(diào)用了。
我把幾個(gè)牽扯到樣式的函數(shù)名稱列出來,簡(jiǎn)單的說一下存在的意義。
render()
渲染分頁(yè),大白話就是這個(gè)分頁(yè)類的主體。
return sprintf( '
這里就牽扯到css的樣式,可以根據(jù)自己的需要替換。
頁(yè)碼自身沒有首頁(yè)和尾頁(yè)單項(xiàng)。(但是函數(shù)為你提供了尾頁(yè)的值)
可以自己去做一個(gè)填寫。復(fù)制getNextButton()
進(jìn)行相關(guān)的修改就可以了。
在getNextButton()
函數(shù)里會(huì)看見另外兩個(gè)函數(shù)
getAvailablePageWrapper(url,page)
和getDisabledTextWrapper($text)
。
剛剛的渲染函數(shù)是可以理解為箱體,這兩個(gè)函數(shù)可以理解為按鈕了。想改樣式在這里該就行了。能做到這里的都不會(huì)有太大的問題。
getLinks()
則是管中間的??创a基本是也能看出來大體意思。修改分頁(yè)基本從這些地方著手就可以了。
以上是“thinkPHP5如何實(shí)現(xiàn)分頁(yè)功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!