PHPackages                             jsnlib/joomla\_pagination - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. jsnlib/joomla\_pagination

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

jsnlib/joomla\_pagination
=========================

幫助 Joomla! 結構化分頁輔助，操作起來更明確

1.0.2(7y ago)038MITPHPPHP &gt;=7.0.0

Since May 3Pushed 7y agoCompare

[ Source](https://github.com/fdjkgh580/jsnlib-joomla_pagination)[ Packagist](https://packagist.org/packages/jsnlib/joomla_pagination)[ RSS](/packages/jsnlib-joomla-pagination/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (1)Versions (4)Used By (0)

jsnlib-joomla\_pagination
=========================

[](#jsnlib-joomla_pagination)

幫助 Joomla! 結構化分頁輔助，操作起來更明確。

使用方法
----

[](#使用方法)

```
$pagination = new \Jsnlib\Joomla\Pagination($this);

$pagination

    // 每頁多少筆
    ->limit(10)

    // 每頁起始值
    ->offset(0)

    // 未分頁的總數量
    ->total(100)

    // 建立
    ->create(function ($joomla, $param)
    {
        // 返回分頁的數據列表
        return $joomla->model->getAll(new \Jsnlib\Ao
        ([
            'offset' => $param->offset,
            'limit' => $param->limit
        ]));
    });
```

- limit()：通常是固定的數量。
- offset()：因為換頁的關係，通常接收來自 $\_GET 參數值。
- total()：從 DB 計算出的未分頁的數量。
- create()：透過 callable 取得依照 limit, offset 取得的實際列表。

其中 limit(), offset(), total() 可以直接賦予數量，也可以使用匿名函式後回傳，例如

```
$pagination->limit(function ()
{
    // do something ......
    return 5;
})
```

使用範例
----

[](#使用範例)

這裡示範在 controller 建立分頁，並傳送到 view.html.php，若要在 view.html.php 建立分頁也是沒有問題的。 administrator/components/com\_todolist/controllers/todolist.php

```
