pw_teaser for TYPO3 v13 and v14: Modern page teasers with Fluid and PSR-14 events

A fork of Armin Vieweg's pw_teaser extension, fully ported to TYPO3 ^13.4 || ^14.0 with PHP 8.2+, Fluid 5.0, a new Site Set, PSR-14 events, and a thorough test suite at PHPStan Level 9.

Auf einen Blick

  • Fork of pw_teaser — dynamic page teasers with six source modes, category filtering, and three template modes.
  • Fully ported to TYPO3 ^13.4 || ^14.0, PHP 8.2+, Fluid 5.0, and a new Site Set for v13+.
  • Listener-based filtering/sorting/enriching via PSR-14 ModifyPagesEvent without core hacks.
  • 77 unit and 14 functional tests, PHPStan Level 9 — no Packagist, integrated via VCS source.

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

Background of the fork and target versions.

What has been done

Changes and additions compared to the upstream project.

Features in detail

Source modes, filters, templates, and pagination.

Installation

Integration via Composer VCS source and extension setup.

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.

TYPO3 v13.4 LTS and v14

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  

FeatureBenefit
Six page source modesDirect children, recursive trees, manual UID list, and combinations — flexible without custom queries
Category filter AND/OR/NOTFine-grained restriction of the teaser selection by system categories
Template mode PresetTypoScript dropdown for editorially selectable templates
Template mode File/DirectoryExplicit path or Extbase convention for project-specific Fluid templates
PSR-14 ModifyPagesEventListeners filter, sort, or enrich the page list — without extension hacks
Site Set support (v13+)Clean configuration integration without static TypoScript includes
SimplePagination / Numbered PaginationCore pagination out-of-the-box; optional georgringer/numbered-pagination

Installation  

Frequently 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.

Acknowledgements

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.

Let's talk about your project

Locations

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

Parts of this content were created with the assistance of AI.