Für ein selbst-geschriebenes Plugin hatte ich eine funktioniere Routing-Konfiguration umgesetzt. Die Extension ist so eine Art news, aber deutlich abgespeckt. Da die Beiträge alle ein Datum haben, gibt es eine einfache Datumsnavigation. Nach einem Update auf TYPO3 9.5.20 funktionierten die Detail-Links weiterhin, die Links der Datumsnavigation lieferten einen 404-Fehler – Seite nicht gefunden.
Die funktonierende Konfiguration sah so aus.
routeEnhancers: Magazine: type: Extbase extension: MyMagazine limitToPages: - 18 - 65 plugin: Magazine defaultController: 'Article::list' defaults: date-month: '' date-year: '' routes: - routePath: '/{article-title}' _controller: 'Article::show' _arguments: article-title: article - routePath: '/{date-year}-{date-month}' _controller: 'Article::list' _arguments: date-month: overwriteDemand/month date-year: overwriteDemand/year requirements: date-month: \d+ date-year: \d+ aspects: article-title: type: PersistedAliasMapper tableName: tx_mymagazine_domain_model_article routeFieldName: path_segment date-month: type: StaticRangeMapper start: '01' end: '12' date-year: type: StaticRangeMapper start: '2000' end: '2030'
Nach dem Update und dem 404-Fehler beim Aufruf der Ansicht mit Jahr-Monat-Parametern hatte ich lange gesucht, unterschiedliches ausprobiert, mich durch den Quellcode gehangelt, es half alles nichts. Ich hatte mich bei der Konfiguration nach der Dokumentation von news gerichtet (Hut ab vor Georg Ringer und dieser Extension). Da ist der Block requirements in dem jeweiligen routePath-Block definiert. Die aktuellste Dokumentation des Core sieht da etwas anders aus: der requirements-Block steht dort an der gleichen Ebene wie aspects und routes. Die Lösung meines Problems war die Angabe von genauen Requirements auf der gleichen Ebene wie routes und aspects, sicherheitshalber habe ich noch einen neuen Konfigurationsabschnitt angelegt (DateMenu).
DateMenu: type: Extbase extension: MyMagazine limitToPages: - 18 plugin: Magazine defaultController: 'Article::list' defaults: date-month: '' date-year: '' routes: - routePath: '/{date-year}-{date-month}' _controller: 'Article::list' _arguments: date-month: overwriteDemand/month date-year: overwriteDemand/year requirements: date-month: '[0-9]{2}' date-year: '[0-9]{4}' aspects: date-month: type: StaticRangeMapper start: '01' end: '12' date-year: type: StaticRangeMapper start: '2000' end: '2030'
Die nicht mehr funktionierende Konfiguration ist wahrscheinlich auf diesen BUGFIX zurückzuführen – es ist jedoch nur eine Vermutung…
Neueste Kommentare