Dynamic page teasers are among the most widely used content elements in TYPO3 projects, and Armin Vieweg's pw_teaser is one of the most mature solutions for the job. The fork in this repository brings the extension up to date: TYPO3 v13.4 LTS and v14, modern PHP, Fluid 5.0, and a thoroughly overhauled architecture built on the proven Extbase repository pattern.
With PSR-14 events, listeners can filter, sort, or enrich the page list without touching the extension itself. The new Site Set handles the configuration includes for TYPO3 v13+, replacing static TypoScript includes.
Table of Contents
Overview
What has been done
Features in detail
Installation
Overview
pw_teaser is an Extbase extension that renders dynamic page teasers from page properties and content elements. The pages can be sourced via six source modes: direct children of a page, recursive subtrees, manual UID lists, or combinations thereof. A category filter with AND/OR/NOT logic enables fine-grained restriction of the results. Three template modes — Preset (TypoScript dropdown), File (explicit path), and Directory (Extbase convention) — cover all common scenarios, from simple use cases to custom Fluid templates.
The extension supports pagination through the TYPO3 Core SimplePagination and, optionally, the georgringer/numbered-pagination package. A local CategoryRepository shim provides compatible category queries without relying on internal Core implementation details.
This fork supports TYPO3 ^13.4 || ^14.0, PHP 8.2–8.4, and Fluid 5.0. TYPO3 v12 and earlier are intentionally not supported. The new Site Set is available from TYPO3 v13 onwards.
What has been done
The fork builds upon the original by Armin Vieweg and has been fundamentally modernised for TYPO3 v13/14. The Composer dependencies have been raised to typo3/cms-core ^13.4 || ^14.0 and php ^8.2, with Fluid updated to 5.0. A new Site Set has been introduced for TYPO3 v13+ , replacing static TypoScript includes and cleanly integrating the extension into the Site Set system.
Architecturally, database queries have been moved out of the domain models and into dedicated repositories throughout — a necessary step for testability and maintainability. The pagination code gained a hasArgument guard to prevent conflicts with the Core pagination interface. A new PSR-14 ModifyPagesEvent enables listener-based filtering, sorting, and enrichment of the page list without modifying the extension directly.
Test coverage has been rebuilt from scratch: 77 unit tests and 14 functional tests pass on PHPStan Level 9. Repository and Composer metadata have been switched from a-r-m-i-n to dirnbauer; the package is available exclusively as a VCS source and is not listed on Packagist.
Features in detail
| Feature | Benefit |
|---|---|
| Six page source modes | Direct children, recursive trees, manual UID list, and combinations — flexible without custom queries |
| Category filter AND/OR/NOT | Fine-grained restriction of the teaser selection by system categories |
| Template mode Preset | TypoScript dropdown for editorially selectable templates |
| Template mode File/Directory | Explicit path or Extbase convention for project-specific Fluid templates |
| PSR-14 ModifyPagesEvent | Listeners filter, sort, or enrich the page list — without extension hacks |
| Site Set support (v13+) | Clean configuration integration without static TypoScript includes |
| SimplePagination / Numbered Pagination | Core pagination out-of-the-box; optional georgringer/numbered-pagination |
Installation
composer config repositories.pw-teaser vcs https://github.com/dirnbauer/pw_teaser.git
composer require t3/pw_teaser:^7.0Frequently Asked Questions
Conclusion
For anyone running pw_teaser on TYPO3 v13 or v14, this fork offers a version built on modern standards: the repository pattern, PSR-14 events, Site Set integration, and a solid test base. The focus is on long-term maintainability and clear extension points rather than piling on features.
Our thanks go to Armin Vieweg for the excellent pw_teaser extension. We use it and have extended it for TYPO3 v13/v14 with Fluid 5, Site Sets, a repository structure, PSR-14 extension points, and tests. The bulk of the work is Armin Vieweg's: page sources, category filters, template modes, and editorial teaser logic. The extension is licensed under GPL-2.0-or-later.