您好,登錄后才能下訂單哦!
這篇文章主要介紹如何使用數組創(chuàng)建分頁數據,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
說明
使用版本:5.1.35 LTS
遇到的一個場景是,數據是從 RPC 遠程調用接口獲取的數組,需要在前端頁面顯示分頁。
解決方法
可以使用 think\Paginate 類的 make 方法創(chuàng)建分頁數據。make 方法原型:
/** * @access public * @param $items 需要分頁的數據 * @param $listRows 每頁數據條數 * @param null $currentPage 當前頁數 * @param null $total 總頁數 * @param bool $simple 是否使用簡單模式(只有上一頁和下一頁) * @param array $options 其他參數選項,如查詢參數,url路徑等 * @return Paginator 返回一個分頁對象 */ public static function make($items, $listRows, $currentPage = null, $total = null, $simple = false, $options = []) { return new static($items, $listRows, $currentPage, $total, $simple, $options); }
需要傳入的參數說明見代碼注釋。
由于 think\Paginate 類的是一個抽象類,需要另一個類繼承它才能使用它的公有方法。框架中有 think\paginator\driver\Bootstrap 類繼承了它,所以可以使用該類去調用 make 方法。
所以,可以寫一個從數組創(chuàng)建分頁數據的方法,大概是這樣的:
private function getPaginateData($data, $page, $query){ return Bootstrap::make($data, $perPage, $page, $total, false, ['path' => url('module/controller/action'), 'query' => $query]); }
使用該方法生成分頁對象后,比如:$data = $this->getPaginateData(...),在控制器中輸出到模板,然后就可以在模板頁面中添加:
{$data|raw}
模板引擎會自動渲染分頁樣式。
以上是“如何使用數組創(chuàng)建分頁數據”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。