PHPackages                             ssch/typo3-pagerfanta - 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. ssch/typo3-pagerfanta

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

ssch/typo3-pagerfanta
=====================

Integrates pagerfanta into TYPO3

v2.0.0(1y ago)33.9k↓46.2%1[7 PRs](https://github.com/sabbelasichon/typo3_pagerfanta/pulls)MITHTMLCI passing

Since Feb 15Pushed 3mo ago2 watchersCompare

[ Source](https://github.com/sabbelasichon/typo3_pagerfanta)[ Packagist](https://packagist.org/packages/ssch/typo3-pagerfanta)[ Fund](https://paypal.me/schreiberten)[ GitHub Sponsors](https://github.com/sabbelasichon)[ RSS](/packages/ssch-typo3-pagerfanta/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (7)Dependencies (24)Versions (18)Used By (0)

[![Downloads](https://camo.githubusercontent.com/70e34fc3811c9b5eff727e2fcf6b73a968425bfe95b91c6374e0d69ccd6fd7e8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f737363682f7479706f332d706167657266616e74612e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/ssch/typo3-pagerfanta)

TYPO3 integration with Pagerfanta Library!
==========================================

[](#typo3-integration-with-pagerfanta-library)

Extension to use [Pagerfanta](https://github.com/BabDev/Pagerfanta) with [TYPO3](https://github.com/TYPO3/typo3).

Installation &amp; Setup
------------------------

[](#installation--setup)

To install this bundle, run the following Composer command:

```
composer require ssch/typo3-pagerfanta
```

Default configuration
---------------------

[](#default-configuration)

```
plugin.tx_typo3pagerfanta {
    settings {
        # The default Pagerfanta view to use in your application
        default_view = fluid
        # The default fluid template to use when using the Twig Pagerfanta view (available: Foundation6, MaterializeCss, Tailwind, TwitterBootstrap, TwitterBootstrap3, TwitterBootstrap4, TwitterBootstrap5
        default_fluid_template = EXT:typo3_pagerfanta/Resources/Private/Templates/TwitterBootstrap5.html
    }
}
```

How to use by examples
----------------------

[](#how-to-use-by-examples)

Imagine you have a classic extbase plugin with an extbase repository query result you want to paginate, then you can use the following example as a starter.

```
use Psr\Http\Message\ResponseInterface;

final class TestController extends ActionController
{
    public function myCustomAction(int $currentPage = 1): ResponseInterface
    {
        $jobs = $this->jobRepository->findAll();

        $queryResultAdapter = new QueryResultAdapter($jobs);
        $pagination = Pagerfanta::createForCurrentPageWithMaxPerPage($queryResultAdapter, $currentPage, 1);

        $this->view->assign('pagination', $pagination);

        return $this->htmlRepsonse();
    }
}
```

You then call the PaginationViewHelper in your Fluid template, passing in the Pagination instance. The routes are generated automatically for the current route using the variable "currentPage" to propagate the page number. By default, the extension uses the FluidView with the TwitterBootstrap5 template to render the pagination.

```
{namespace pagerfanta = Ssch\Typo3Pagerfanta\ViewHelpers}

```

If you are using a parameter other than currentPage for pagination, you can set the parameter name by using the pageParameter option when rendering the pager.

```

```

If you want to use a different template for the pagination you can set the template by using the template option when rendering the pager.

```

```

Why this extension shines
-------------------------

[](#why-this-extension-shines)

In my opinion this extension or better to say the Pagerfanta concept separates the route generation (RouteGenerator) from the view. So the view is totally agnostic about how to generate the page links itself and so it is fully reusable. To generate the routes inside the controller offers more flexibility instead of generating the page links inside the view itself.

Further Documentation
---------------------

[](#further-documentation)

Please see the [BabDev website](https://www.babdev.com/open-source/packages/pagerfanta/docs/3.x/intro) for detailed information on how to use this extension.

Acknowledgment
--------------

[](#acknowledgment)

This package is heavily inspired by [babdev/pagerfanta-bundle](https://github.com/BabDev/PagerfantaBundle) by Michael Babker. Thank you.

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance66

Regular maintenance activity

Popularity26

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 75.2% 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.

###  Release Activity

Cadence

Every ~193 days

Recently: every ~283 days

Total

7

Last Release

390d ago

Major Versions

v0.1.0 → v1.0.02023-11-08

v1.0.0 → v2.0.02025-04-23

### Community

Maintainers

![](https://www.gravatar.com/avatar/bebdadb696b19cbbca63cd296ae4e4f48bcf42c20bc483d7b4d0599836dc753d?d=identicon)[schreiberten](/maintainers/schreiberten)

---

Top Contributors

[![sabbelasichon](https://avatars.githubusercontent.com/u/13050560?v=4)](https://github.com/sabbelasichon "sabbelasichon (82 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (25 commits)")[![andwee](https://avatars.githubusercontent.com/u/13130216?v=4)](https://github.com/andwee "andwee (2 commits)")

###  Code Quality

Static AnalysisPHPStan, Rector

Code StyleECS

Type Coverage Yes

### Embed Badge

![Health badge](/badges/ssch-typo3-pagerfanta/health.svg)

```
[![Health](https://phpackages.com/badges/ssch-typo3-pagerfanta/health.svg)](https://phpackages.com/packages/ssch-typo3-pagerfanta)
```

###  Alternatives

[fluidtypo3/flux

The flux package from FluidTYPO3

152982.2k20](/packages/fluidtypo3-flux)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

96374.6k23](/packages/friendsoftypo3-content-blocks)[eliashaeussler/typo3-form-consent

Extension for TYPO3 CMS that adds double opt-in functionality to EXT:form

1481.0k](/packages/eliashaeussler-typo3-form-consent)[praetorius/vite-asset-collector

Use AssetCollector to embed frontend assets generated by vite

52255.0k1](/packages/praetorius-vite-asset-collector)[brotkrueml/schema

Embedding schema.org vocabulary - API and view helpers for schema.org markup

33584.6k13](/packages/brotkrueml-schema)[mautic/mautic-typo3

Add-on TYPO3 extension that enhances the "EXT:marketing\_automation" TYPO3 extension by connecting it to the Mautic Marketing Automation platform: Determine "Persona" from Mautic segments. Also provides additional services e.g. language synchronisation between Mautic and TYPO3.

236.3k](/packages/mautic-mautic-typo3)

PHPackages © 2026

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