PHPackages                             smic/page-router-event - 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. smic/page-router-event

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

smic/page-router-event
======================

Sends the missing PageUriGenerated PSR-14 event from the PageRouter

2.0.0(2mo ago)050.5k↓44.9%PHP

Since Oct 6Pushed 2mo ago2 watchersCompare

[ Source](https://github.com/smichaelsen/page-router-event)[ Packagist](https://packagist.org/packages/smic/page-router-event)[ RSS](/packages/smic-page-router-event/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (3)Versions (12)Used By (0)

Page Router Event
=================

[](#page-router-event)

Provides a PSR-14 event to respond to generated page URIs
---------------------------------------------------------

[](#provides-a-psr-14-event-to-respond-to-generated-page-uris)

The core TYPO3 `PageRouter` doesn't offer the possibility to modify generated URLs. This extension replaces the `PageRouter->generateUri` method and dispatches a [PSR-14](https://www.php-fig.org/psr/psr-14/) event to react to or modify generated URLs.

TYPO3 core issue
----------------

[](#typo3-core-issue)

An issue for the TYPO3 core has been created on forge: [\#92780](https://forge.typo3.org/issues/92780). This extension is meant as an intermediate solution and becomes obsolete as soon as the core PageRouter offers such an event.

Usage
-----

[](#usage)

Install:

`composer req smic/page-router-event dev-master`

Register an event listener in the `Services.yaml`:

```
services:

  Vendor\MyExt\EventListener\ReactToGeneratedUri:
    tags:
      - name: event.listener
        identifier: 'MyExtReactToGeneratedUri'
        event: Smic\PageRouterEvent\Event\PageUriGenerated

```

Your event listener receives a `Smic\PageRouterEvent\Event\PageUriGenerated` event that offers:

- getters for input data that were used to generate the URL `->getFragment()`, `->getParameters()`, `->getRoute()`, `->getSite()`, `->getType()`
- a getter for the generated URI `->getUri()`
- the PageRouter itself `->getPageRouter()`
- and a setter to replace the generated URI `->setUri($uri)`

If you're not familiar with PSR-14 event handling in TYPO3 have a look at:

###  Health Score

48

—

FairBetter than 95% of packages

Maintenance85

Actively maintained with recent releases

Popularity28

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 93.3% 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 ~802 days

Total

3

Last Release

80d ago

Major Versions

1.0.0 → 2.0.02026-02-27

### Community

Maintainers

![](https://www.gravatar.com/avatar/886face3e57e668db2bf95d62325f423baf7e9d8949a9e4c84d3a0e6c3891920?d=identicon)[smichaelsen](/maintainers/smichaelsen)

---

Top Contributors

[![smichaelsen](https://avatars.githubusercontent.com/u/912435?v=4)](https://github.com/smichaelsen "smichaelsen (14 commits)")[![christian-fries](https://avatars.githubusercontent.com/u/852644?v=4)](https://github.com/christian-fries "christian-fries (1 commits)")

###  Code Quality

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/smic-page-router-event/health.svg)

```
[![Health](https://phpackages.com/badges/smic-page-router-event/health.svg)](https://phpackages.com/packages/smic-page-router-event)
```

###  Alternatives

[eliashaeussler/typo3-form-consent

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

1481.0k](/packages/eliashaeussler-typo3-form-consent)[b13/assetcollector

Add CSS and SVG files and strings as inline style tag/inline svg to the html code.

10118.4k](/packages/b13-assetcollector)[mfd/ai-filemetadata

Automatically generates FAL metadata for files by means of public LLMs

1142.1k](/packages/mfd-ai-filemetadata)[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)
