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

v3.0.0(1mo ago)34.7k↓47.2%1[5 PRs](https://github.com/sabbelasichon/typo3_pagerfanta/pulls)MITHTMLCI passing

Since Feb 15Pushed 2w 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 1w ago

READMEChangelog (8)Dependencies (48)Versions (19)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

51

—

FairBetter than 95% of packages

Maintenance94

Actively maintained with recent releases

Popularity27

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 73.8% 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 ~228 days

Recently: every ~381 days

Total

8

Last Release

42d ago

Major Versions

v0.1.0 → v1.0.02023-11-08

v1.0.0 → v2.0.02025-04-23

v2.0.0 → v3.0.02026-07-08

### 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 (90 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (30 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

[friendsoftypo3/content-blocks

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

103574.3k70](/packages/friendsoftypo3-content-blocks)[typo3/cms-install

TYPO3 CMS Install Tool - The Install Tool is used for installation, upgrade, system administration and setup tasks.

1812.5M579](/packages/typo3-cms-install)[eliashaeussler/typo3-form-consent

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

15100.9k](/packages/eliashaeussler-typo3-form-consent)[yoast-seo-for-typo3/yoast_seo

Yoast SEO for TYPO3

571.8M9](/packages/yoast-seo-for-typo3-yoast-seo)[web-vision/wv_deepltranslate

DeepL Translate (CORE) - This extension provides option to translate content element, and TCA record texts to DeepL supported languages.

34311.2k](/packages/web-vision-wv-deepltranslate)[web-vision/deepltranslate-core

DeepL Translate (CORE) - This extension provides option to translate content element, and TCA record texts to DeepL supported languages.

34162.0k10](/packages/web-vision-deepltranslate-core)

PHPackages © 2026

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