proudnerds / pn-category-filter
Category filtering and search for TYPO3 records — AJAX-powered, faceted, no Solr required, with optional Solr synonym support.
Package info
github.com/proudnerds-typo3/pn_category_filter
Type:typo3-cms-extension
pkg:composer/proudnerds/pn-category-filter
Requires
- php: ^8.3
- typo3/cms-backend: ^13.4
- typo3/cms-core: ^13.4
- typo3/cms-extbase: ^13.4
- typo3/cms-fluid: ^13.4
- typo3/cms-frontend: ^13.4
Requires (Dev)
None
Suggests
- apache-solr-for-typo3/solr: Enables the optional synonym expansion of search terms (see 'Solr synonym expansion' in the documentation).
Provides
None
Conflicts
None
Replaces
- typo3-ter/pn-category-filter: 1.0.0
README
Filter and search categorized TYPO3 records in the frontend: AJAX-powered, faceted, multi-table, with optional Solr synonym expansion — but without a Solr server, an indexer or a queue to maintain.
Sponsored by Gemeente Tilburg, who funded the development for their own websites and made it possible to release the result as open source.
Highlights
- Category filtering with hierarchy, over
pages,tt_contentor any categorized custom table - Two combine modes: Expand (union) and Refine (faceted — OR within a group, AND across groups)
- AJAX search with multi-word AND matching, debouncing and term highlighting
- Optional result-count
(n)badges per filter option, facet- and search-aware - Boost fields, default sorting and optional frontend sorting controls
- Page content hydration: make
pagessearchable on theirtt_content - Optional synonym expansion through an existing EXT:solr synonym list
- PSR-14 event to filter or enrich the records
- WCAG 2.1 AA, with English, Dutch and German labels
Requirements
TYPO3 v13.4 LTS · PHP 8.3+
Installation
composer require proudnerds/pn-category-filter
Add the site set to your site's config.yaml:
dependencies: - proudnerds/pn-category-filter
Then include the assets, add the plugin to a page and configure it through the FlexForm. The installation chapter has the details — note that the JavaScript is required and is deliberately not injected automatically.
Documentation
The full manual lives in Documentation/ and is
published at
docs.typo3.org.
| Chapter | |
|---|---|
| Introduction | What it does, and when you do (not) need Solr |
| Implementation examples | Screenshots of both display modes |
| Installation | Install, TypoScript, assets |
| Configuration | Every FlexForm, TypoScript, TSconfig and site setting |
| Filter combine logic | Expand vs. Refine |
| Search | Search behaviour, highlighting, Solr synonyms |
| Result count badges | The (n) badges |
| Boost fields | Pinning records to the top |
| Page content hydration | Searching pages on their content |
| Events and API | PSR-14 event, ViewHelper, services |
| Performance | Benchmarks and tuning |
Render the manual locally:
docker run --rm -v "$PWD":/project -w /project \
ghcr.io/typo3-documentation/render-guides:latest --config=Documentation
Contributing
Issues and pull requests are welcome — see CONTRIBUTING.md.
Credits
Created and maintained by ProudNerds: Jacco van der Post and Emile Blume.
License
GPL-2.0-or-later. See LICENSE.