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(4mo ago)051.1k↓90.5%PHP

Since Oct 6Pushed 3mo 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 yesterday

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

46

—

FairBetter than 92% of packages

Maintenance78

Regular maintenance activity

Popularity26

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

126d 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

[friendsoftypo3/content-blocks

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

103519.9k53](/packages/friendsoftypo3-content-blocks)[wazum/sluggi

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

40529.5k](/packages/wazum-sluggi)[typo3/cms-scheduler

TYPO3 CMS Scheduler - Schedule tasks to run once or periodically at a specific time.

169.3M231](/packages/typo3-cms-scheduler)[typo3/cms-lowlevel

TYPO3 CMS Lowlevel - Technical analysis of the system. This includes raw database search, checking relations, counting pages and records etc.

178.2M316](/packages/typo3-cms-lowlevel)[typo3/cms-redirects

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

167.4M80](/packages/typo3-cms-redirects)[typo3/cms-form

TYPO3 CMS Form - Flexible TYPO3 frontend form framework that comes with a backend editor interface.

147.6M265](/packages/typo3-cms-form)

PHPackages © 2026

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