smic / page-router-event
此包的最新版本(1.0.0)没有可用的许可证信息。
发送来自 PageRouter 的缺失的 PageUriGenerated PSR-14 事件
1.0.0
2022-03-09 11:57 UTC
Requires
- typo3/cms-core: ^10.4 || ^11.5
This package is auto-updated.
Last update: 2024-09-11 11:40:56 UTC
README
提供 PSR-14 事件以响应生成的页面 URI
TYPO3 核心代码 PageRouter
不提供修改生成 URL 的可能性。此扩展替换了 PageRouter->generateUri
方法,并分派一个 PSR-14 事件以响应或修改生成的 URL。
TYPO3 核心问题
在 forge 上为 TYPO3 核心创建了一个问题:#92780。此扩展被视为一个中间解决方案,一旦核心 PageRouter 提供此类事件,它就变得过时。
使用方法
安装
composer req smic/page-router-event dev-master
在 Services.yaml
中注册事件监听器
services:
Vendor\MyExt\EventListener\ReactToGeneratedUri:
tags:
- name: event.listener
identifier: 'MyExtReactToGeneratedUri'
event: Smic\PageRouterEvent\Event\PageUriGenerated
您的事件监听器将接收到一个 Smic\PageRouterEvent\Event\PageUriGenerated
事件,该事件提供
- 用于生成 URL 的输入数据的获取器
->getFragment()
、->getParameters()
、->getRoute()
、->getSite()
、->getType()
- 生成 URI 的获取器
->getUri()
- PageRouter 本身
->getPageRouter()
- 以及一个设置器以替换生成的 URI
->setUri($uri)
如果您不熟悉 TYPO3 中的 PSR-14 事件处理,请查看: https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/Hooks/EventDispatcher/Index.html