PHPackages                             skeuper/ajax-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. skeuper/ajax-pagination

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

skeuper/ajax-pagination
=======================

Extension providing functionality for AJAX pagination for passed content objects

1.0.7(6y ago)23.1k[1 issues](https://github.com/DaRealFreak/ajax_pagination/issues)[2 PRs](https://github.com/DaRealFreak/ajax_pagination/pulls)GPL-2.0-onlyPHP

Since Oct 12Pushed 3y ago1 watchersCompare

[ Source](https://github.com/DaRealFreak/ajax_pagination)[ Packagist](https://packagist.org/packages/skeuper/ajax-pagination)[ RSS](/packages/skeuper-ajax-pagination/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (2)Versions (12)Used By (0)

TYPO3 Extension `AJAX Pagination`
=================================

[](#typo3-extension-ajax-pagination)

[![GitHub](https://camo.githubusercontent.com/aa351cc26e1b1baba24b3b17ffa8cd38b8c378c87e63e985fa756c90dda01393/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f44615265616c467265616b2f616a61785f706167696e6174696f6e)](https://camo.githubusercontent.com/aa351cc26e1b1baba24b3b17ffa8cd38b8c378c87e63e985fa756c90dda01393/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f44615265616c467265616b2f616a61785f706167696e6174696f6e)

TYPO3 Extension providing full functionality for AJAX paginations for passed objects.

Features
--------

[](#features)

- only the related content element is rendered resulting in no performance problems
- lightweight, it doesn't require any additional libraries to work
- option to manipulate the browser history with an additional option
- if JavaScript is disabled the pagination will still work normally
- callbacks after successfully or failing the pagination process

Usage
-----

[](#usage)

1. You can install the extension either using composer using `composer require skeuper/ajax-pagination`
    or you can download the extension from the TYPO3 extension repository and install it with the extension manager module.
2. Include the template `AJAX Pagination (ajax_pagination)` to the included static templates.
3. Now you can change ` ... ` to ` ... `after including the ViewHelper namespace `xmlns:p="http://typo3.org/ns/SKeuper/AjaxPagination/ViewHelpers"` and everything should work already.

TYPO3 9 TypoScript Rendering
----------------------------

[](#typo3-9-typoscript-rendering)

Currently the Widget ViewHelpers in the relied on TYPO3 extension `helhum/typoscript-rendering` are not compatible with TYPO3 9.
In my case I'm using [this patch](patches/tx_typoscript_rendering-typo3_9_compatibility_widget_viewhelpers.diff) to make the ViewHelpers TYPO3 compatible.
There are 2 Pull Requests in the official extension repository too to fix the issue in case you want to wait for an official patch.

Browser History Manipulation
----------------------------

[](#browser-history-manipulation)

The pagination adds the option to manipulate the browser history while paginating.
You can simply add `updateBrowserHistory: '1'` to the passed configuration of the pagination.
This will result in the pagination pushing states in the browser history for restoring the previous site on going back.

Custom Pagination Template
--------------------------

[](#custom-pagination-template)

You can overwrite the default pagination template by simply adding following lines to your custom TypoScript:

```
config {
    // you can also use tx_extension to only change the template for a specific extension
    tx_extbase {
        view {
            widget.SKeuper\AjaxPagination\ViewHelpers\Widget\PaginateViewHelper.templateRootPaths {
                0 = EXT:ajax_pagination/Resources/Private/Templates
                1 = EXT:provider_tpl/Resources/Private/Templates/AjaxPagination
            }
        }
    }
}

```

Callbacks after a successful pagination
---------------------------------------

[](#callbacks-after-a-successful-pagination)

In case you have to execute JavaScript after a pagination (f.e. for image gallery libraries) you can register a callback using the default exposed xhrPagination object.

```
xhrPagination.callbacks.push(function () {
    console.log("successfully paginated woohoo")
});
```

The interface for the xhrPagination object which you could also import using the TypeScript modules:

```
interface XhrPagination {
    // callbacks in case the pagination fails, returns text containing the error message/status
    failCallbacks: { (errorText: string): any; } [];
    // callbacks after successful pagination but before scrolling to the top of the element
    // useful f.e. if galleries aren't initialized yet and you want to initialize them before scrolling to them
    callbacksPreScroll: { (): any; } [];
    // callbacks being called after everything finished
    callbacks: { (): any; } [];

    /**
     * add the pagination click event listener to all elements of queryable element
     *
     * @param element: QuerySelectorElement
     */
    addAllPaginationEventListeners(element: QuerySelectorElement): void;

    /**
     * adds the onpopstate functionality
     * and replaces the current browser history state for history.back() functionality to main page
     */
    prepareBrowserHistoryUpdate(): void;
}

// the element simply requires the querySelectorAll function
interface QuerySelectorElement {
    querySelectorAll(selectors: string): any
}
```

Development
-----------

[](#development)

Want to contribute? Great!
I'm always glad hearing about bugs or pull requests.

License
-------

[](#license)

This project is licensed under the GPL v2.0 - see the [LICENSE](LICENSE) file for details

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance10

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 96.7% 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 ~15 days

Recently: every ~26 days

Total

8

Last Release

2345d ago

### Community

Maintainers

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

---

Top Contributors

[![DaRealFreak](https://avatars.githubusercontent.com/u/5161460?v=4)](https://github.com/DaRealFreak "DaRealFreak (29 commits)")[![dependabot-preview[bot]](https://avatars.githubusercontent.com/in/2141?v=4)](https://github.com/dependabot-preview[bot] "dependabot-preview[bot] (1 commits)")

---

Tags

typo3typo3-cms-extensiontypo3-extension

### Embed Badge

![Health badge](/badges/skeuper-ajax-pagination/health.svg)

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

###  Alternatives

[friendsoftypo3/content-blocks

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

101466.4k45](/packages/friendsoftypo3-content-blocks)[wazum/sluggi

TYPO3 extension for URL slug management with inline editing, auto-sync, locking, access control, and redirects

41515.2k](/packages/wazum-sluggi)[praetorius/vite-asset-collector

Use AssetCollector to embed frontend assets generated by vite

54299.7k1](/packages/praetorius-vite-asset-collector)[typo3/cms-redirects

TYPO3 CMS Redirects - Create manual redirects, list existing redirects and automatically createredirects on slug changes.

167.3M74](/packages/typo3-cms-redirects)[typo3/cms-sys-note

TYPO3 CMS System Notes - Records with messages which can be placed on any page and contain instructions or other information related to a page or section.

116.2M37](/packages/typo3-cms-sys-note)[eliashaeussler/typo3-form-consent

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

1595.5k](/packages/eliashaeussler-typo3-form-consent)

PHPackages © 2026

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