溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

thinkPHP5如何實現(xiàn)分頁功能

發(fā)布時間:2021-07-08 09:17:00 來源:億速云 閱讀:691 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下thinkPHP5如何實現(xiàn)分頁功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

具體如下:

其實分頁自身的內(nèi)容也不是很多。不過牽扯到樣式的問題感覺挺煩。于是找到了分頁類看了一下。把大體的結(jié)構(gòu)說一下。如果有需要修改頁面樣式的可以自行修改樣式。最好提前備份,防止意外。

首先是分頁的調(diào)用,tp5的調(diào)用相對非常容易

$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}
</ul>
</div>
{$list->render()}

函數(shù)的第一個參數(shù)是每一頁顯示幾個,第二個參數(shù)是總共顯示多少頁。

(本來有10頁,你只寫5頁,那么6-10頁是不會顯示的,但是地址欄該參數(shù)還是可以跳轉(zhuǎn)過去獲取對應(yīng)的內(nèi)容…)

thinkPHP5如何實現(xiàn)分頁功能

默認(rèn)的是這樣的效果。不過這是在bootstrap模板下才有的效果。專門根據(jù)bootstrap的特點做的命名。

也就是說,在其他的模板下,只是單純的數(shù)字。

分頁的文件的位置在thinkphp\library\think\paginator里。
driver里有一個分頁樣式的原版。直接改不利于后期維護(hù)。而且tp5也給你一個非常方便的修改方法。文件夾內(nèi)源文件復(fù)制粘貼重新命名。然后改一句話class Bootstrap extends Paginator中的Bootstrap改成文件的名字。再去config.php里找到分頁相關(guān)的配置。

'type' => 'bootstrap',改成你的文件名字。就可以直接調(diào)用了。

我把幾個牽扯到樣式的函數(shù)名稱列出來,簡單的說一下存在的意義。

render()渲染分頁,大白話就是這個分頁類的主體。

return sprintf(
  '<ul class="pagination">%s %s %s</ul>',
  $this->getPreviousButton(),
  $this->getLinks(),
  $this->getNextButton()
);

這里就牽扯到css的樣式,可以根據(jù)自己的需要替換。

頁碼自身沒有首頁和尾頁單項。(但是函數(shù)為你提供了尾頁的值)
可以自己去做一個填寫。復(fù)制getNextButton()進(jìn)行相關(guān)的修改就可以了。

getNextButton()函數(shù)里會看見另外兩個函數(shù)

getAvailablePageWrapper(url,page)getDisabledTextWrapper($text)。

剛剛的渲染函數(shù)是可以理解為箱體,這兩個函數(shù)可以理解為按鈕了。想改樣式在這里該就行了。能做到這里的都不會有太大的問題。

getLinks()則是管中間的??创a基本是也能看出來大體意思。修改分頁基本從這些地方著手就可以了。

以上是“thinkPHP5如何實現(xiàn)分頁功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI