pw_teaser für TYPO3 v13 und v14: Seitenteaser mit Fluid und PSR-14-Events modernisieren

Fork der pw_teaser-Extension von Armin Vieweg, vollständig portiert auf TYPO3 ^13.4 || ^14.0 mit PHP 8.2+, Fluid 5.0, neuem Site-Set, PSR-14-Events und einer umfangreichen Test-Suite auf PHPStan Level 9.

Auf einen Blick

  • Fork von pw_teaser — dynamische Seitenteaser mit sechs Quellmodi, Kategorie-Filter und drei Template-Modi.
  • Vollständig portiert auf TYPO3 ^13.4 || ^14.0, PHP 8.2+, Fluid 5.0 und neues Site-Set für v13+.
  • Listener-basiertes Filtern/Sortieren/Anreichern über PSR-14 ModifyPagesEvent ohne Core-Hacks.
  • 77 Unit- und 14 Functional-Tests, PHPStan Level 9 — kein Packagist, Einbindung via VCS-Quelle.

Dynamische Seitenteaser gehören zu den meistgenutzten Inhaltselementen in TYPO3-Projekten — und pw_teaser von Armin Vieweg ist eine der ausgereiftesten Lösungen für diesen Anwendungsfall. Der Fork auf diesem Repository bringt die Extension auf den aktuellen Stand: TYPO3 v13.4 LTS und v14, modernes PHP, Fluid 5.0 und eine vollständig überarbeitete Architektur, die auf dem bewährten Extbase-Repository-Pattern basiert.

Mit PSR-14-Events filtern, sortieren oder reichern Listener die Seitenliste an — ohne die Extension selbst anzufassen. Das neue Site-Set übernimmt die Konfigurationsincludes für TYPO3 v13+ und löst statische TypoScript-Includes ab.


Inhaltsverzeichnis  

Überblick

Hintergrund des Forks und Zielversionen.

Was wurde gemacht

Änderungen und Ergänzungen gegenüber dem Upstream-Projekt.

Funktionen im Detail

Quellmodi, Filter, Templates und Pagination.

Installation

Einbindung via Composer VCS-Quelle und Extension-Setup.

Überblick  

pw_teaser ist eine Extbase-Extension, die dynamische Seitenteaser aus Seiteneigenschaften und Inhaltselementen rendert. Die Seiten können über sechs Quellmodi bezogen werden: direkte Kinder einer Seite, rekursive Teilbäume, manuelle UID-Listen oder Kombinationen davon. Ein Kategorie-Filter mit AND/OR/NOT-Logik ermöglicht feingranulares Einschränken der Ergebnisse. Drei Template-Modi — Preset (TypoScript-Dropdown), File (expliziter Pfad) und Directory (Extbase-Konvention) — decken vom einfachen Anwendungsfall bis zur individuellen Fluid-Vorlage alle gängigen Szenarien ab.

Die Extension unterstützt Pagination via TYPO3-Core-SimplePagination und optional über das Paket georgringer/numbered-pagination. Ein lokaler CategoryRepository-Shim stellt die Kategorieabfragen kompatibel bereit, ohne auf interne Core-Implementierungsdetails angewiesen zu sein.

TYPO3 v13.4 LTS und v14

Dieser Fork unterstützt TYPO3 ^13.4 || ^14.0, PHP 8.2–8.4 und Fluid 5.0. TYPO3 v12 und früher werden bewusst nicht unterstützt. Das neue Site-Set steht ab TYPO3 v13 zur Verfügung.

Was wurde gemacht  

Der Fork baut auf dem Original von Armin Vieweg auf und wurde grundlegend für TYPO3 v13/14 modernisiert. Die Composer-Abhängigkeiten wurden auf typo3/cms-core ^13.4 || ^14.0 und php ^8.2 angehoben, Fluid auf 5.0 aktualisiert. Für TYPO3 v13+ wurde ein neues Site-Set eingeführt , das statische TypoScript-Includes ablöst und die Extension sauber in das Site-Set-System integriert.

Architektonisch wurden DB-Abfragen konsequent aus den Domain-Models in dedizierte Repositories verschoben — ein notwendiger Schritt für Testbarkeit und Wartbarkeit. Der Pagination-Code erhielt einen hasArgument-Guard, der Konflikte mit dem Core-Pagination-Interface verhindert. Ein neuer PSR-14 ModifyPagesEvent erlaubt Listener-basiertes Filtern, Sortieren und Anreichern der Seitenliste, ohne die Extension direkt zu modifizieren.

Die Test-Abdeckung wurde von Grund auf neu aufgebaut: 77 Unit-Tests und 14 Functional-Tests laufen auf PHPStan Level 9 durch. Repository- und Composer-Metadaten wurden von a-r-m-i-n auf dirnbauer umgestellt; das Paket ist ausschließlich als VCS-Quelle verfügbar und nicht auf Packagist gelistet.

Funktionen im Detail  

FunktionNutzen
Sechs Seiten-QuellmodiDirekte Kinder, rekursive Bäume, manuelle UID-Liste und Kombinationen — flexibel ohne Custom-Queries
Kategorie-Filter AND/OR/NOTFeingranulares Einschränken der Teaser-Auswahl nach System-Kategorien
Template-Modus PresetTypoScript-Dropdown für redaktionell wählbare Vorlagen
Template-Modus File/DirectoryExpliziter Pfad oder Extbase-Konvention für projektspezifische Fluid-Templates
PSR-14 ModifyPagesEventListener filtern, sortieren oder reichern die Seitenliste an — ohne Extension-Hack
Site-Set-Support (v13+)Saubere Konfigurationsintegration ohne statische TypoScript-Includes
SimplePagination / Numbered PaginationCore-Pagination out-of-the-box; optional georgringer/numbered-pagination

Installation  

Häufige Fragen  

Fazit  

Wer pw_teaser auf TYPO3 v13 oder v14 einsetzt, erhält mit diesem Fork eine auf modernen Standards aufgebaute Variante: Repository-Pattern, PSR-14-Events, Site-Set-Integration und eine solide Test-Basis. Der Fokus liegt auf Langzeitwartbarkeit und klaren Erweiterungspunkten statt auf Feature-Maximierung.

Dank

pw_teaser ist ein Fork von Armin Viewegs gleichnamiger Extension. Dank an Armin Vieweg für die Vorarbeit. Die Extension steht unter der GPL-2.0-or-later.

Lassen Sie uns über Ihr Projekt sprechen

Standorte

  • Mattersburg
    Johann Nepomuk Bergerstraße 7/2/14
    7210 Mattersburg, Austria
  • Wien
    Ungargasse 64-66/3/404
    1030 Wien, Austria

Dieser Inhalt wurde teilweise mithilfe von KI erstellt.