PHPackages                             seyfer/kohana-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. seyfer/kohana-pagination

ActiveKohana-module[Utility &amp; Helpers](/categories/utility)

seyfer/kohana-pagination
========================

Kohana module to manage pagination quick and easy

112.9k5PHP

Since Jan 15Pushed 7y ago4 watchersCompare

[ Source](https://github.com/seyfer/kohana-pagination)[ Packagist](https://packagist.org/packages/seyfer/kohana-pagination)[ RSS](/packages/seyfer-kohana-pagination/feed)WikiDiscussions 3.3/master Synced yesterday

READMEChangelogDependenciesVersions (3)Used By (0)

Kohana 3.3 and 3.2 Pagination
-----------------------------

[](#kohana-33-and-32-pagination)

This is pretty much hacked up to support Kohana 3.3 and 3.2 so there are a few things to note:

- Request, Route and route parameters dependency injection added
- Current Request is used by default instead of the initial one ($\_GET was used directly in &lt; 3.2)
- URL::query() has been removed, Pagination::query() added instead (HMVC support)
- Add feauture to limit links in rendered html template.

Usage Example
-------------

[](#usage-example)

```
    //first calc average count
    $count     = $count_sql->count_all();

    //you can change items_per_page
    $num = 10;
    //you can configure routes and custom routes params
    $pagination = Pagination::factory(array(
                        'total_items'    => $count,
                        'items_per_page' => $num,
    //                    'current_page'   => Request::current()->param("page"),
                            )
                    )
                    ->route_params(array(
                'directory'  => Request::current()->directory(),
                'controller' => Request::current()->controller(),
                'action'     => Request::current()->action(),
                "id"         => $date,
                "id2"        => $date2,
                    )
            );

    //now select from your DB using calculated offset
    $logs = $logs_sql->order_by("id", "DESC")
                    ->limit($pagination->items_per_page)
                    ->offset($pagination->offset)
                    ->group_by("id")
                    ->find_all()->as_array();

    //and finally set view variables
    $this->content = View::factory("admin/log/asb/main.tpl")
            ->set("logs", $logs)
            ->set('pagination', $pagination);

```

Variable $pagination will automatically convert to rendered from tpl html.

In this version added some new config features!

Config Example:
---------------

[](#config-example)

```
    return array(
        // Application defaults
        'default' => array(
            // source: "query_string" or "route"
            'current_page'      => array('source' => 'query_string',
                                         'key'    => 'page'),
            'total_items'       => 0,
            'items_per_page'    => 10,
            'view'              => 'pagination/limited',
            'auto_hide'         => TRUE,
            'first_page_in_url' => FALSE,

            //NEW! Use limited template.
            'max_left_pages'    => 10,
            'max_right_pages'   => 10,
        ),
    );

```

In pagination/view folder added limited tpl, witch can limit number of left and right pages links by config variables.

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 50% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/71775d95a4c19f629135c951e986592c79f63ed0f38c4eabfa767f5144909ea9?d=identicon)[seyfer](/maintainers/seyfer)

---

Top Contributors

[![seyfer](https://avatars.githubusercontent.com/u/1483925?v=4)](https://github.com/seyfer "seyfer (10 commits)")[![kemo](https://avatars.githubusercontent.com/u/100160?v=4)](https://github.com/kemo "kemo (6 commits)")[![nikulinsasa](https://avatars.githubusercontent.com/u/3771443?v=4)](https://github.com/nikulinsasa "nikulinsasa (2 commits)")[![bistory](https://avatars.githubusercontent.com/u/108102?v=4)](https://github.com/bistory "bistory (1 commits)")[![kerkness](https://avatars.githubusercontent.com/u/95617?v=4)](https://github.com/kerkness "kerkness (1 commits)")

### Embed Badge

![Health badge](/badges/seyfer-kohana-pagination/health.svg)

```
[![Health](https://phpackages.com/badges/seyfer-kohana-pagination/health.svg)](https://phpackages.com/packages/seyfer-kohana-pagination)
```

###  Alternatives

[altis/local-server

Local Server module for Altis

18221.6k3](/packages/altis-local-server)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
