Create dynamic page teasers from page properties and their content elements: child pages, recursive trees or hand-picked pages, filtered by categories, sorted, paginated and rendered with Fluid. Built on Extbase.
Maintained fork of a-r-m-i-n/pw_teaser (upstream unmaintained since 2023).
| pw_teaser | TYPO3 | PHP |
|---|---|---|
| 7.1 | 13.4 LTS, 14.3 LTS | 8.3 – 8.5 |
| 7.0 | 13.4, 14.0 | 8.2 – 8.4 |
| 6.x | 11 – 13 | 8.1 – 8.3 |
Packagist still points t3/pw_teaser at the unmaintained upstream (6.0.3),
so register this repository first:
composer config repositories.pw-teaser vcs https://github.com/dirnbauer/pw_teaser
composer require t3/pw_teaserClassic installs: EXT:pw_teaser in TER.
- TypoScript – add the site set
t3/pw-teasertodependenciesinconfig/sites/<site>/config.yaml. Without site sets use@import 'EXT:pw_teaser/Configuration/TypoScript/setup.typoscript'(the static template include was removed in 7.1). - Template modes (plugin tab Template) –
preset: editors pick a TypoScript-defined preset (default,headlineAndImage,headlineOnlyor your own underplugin.tx_pwteaser.view.presets);file: one Fluid template viatemplateRootFile;directory: Extbase convention (Teaser/Index.htmlplus partials/layouts) viatemplateRootPath. - Pagination – on by default (
SimplePagination, 10 items per page). For numbered paginationcomposer require georgringer/numbered-paginationand setplugin.tx_pwteaser.settings.paginationClass = GeorgRinger\NumberedPagination\NumberedPagination. - PSR-14 –
PwTeaserTeam\PwTeaser\Event\ModifyPagesEventexposesgetPages()/setPages()to filter, sort or enrich the result before rendering; register a listener with#[AsEventListener].
Full reference (settings, route enhancer, Page model, ViewHelpers): Documentation/ or docs.typo3.org.
- Add the content element Page Teaser to a page.
- Choose the source (children of this page, recursive, selected pages, …), optionally category filters, ordering and limit.
- Pick a template preset on the Template tab.
Custom Fluid templates receive {pages} (Page models; {page.get.<column>}
reads any pages column) and {pagination}.
composer install
composer ci:lint # php -l
composer ci:cgl # php-cs-fixer dry-run (TYPO3 coding standards)
composer ci:phpstan # PHPStan level 8
composer ci:test:unit # PHPUnit unit tests
typo3DatabaseDriver=pdo_sqlite composer ci:test:functional # functional tests
composer update --with typo3/cms-core:^13.4 # switch TYPO3 majorA DDEV setup is included (ddev start && ddev install-v13). Pull requests
against master are welcome.
- Documentation/ – installation, configuration reference, templates, events, testing
- Upgrade notes 6.x → 7.x
- CHANGELOG.md
GPL-2.0-or-later. Original author Armin Vieweg; fork maintained by Kurt Dirnbauer (webconsulting.at).
