PHPackages                             madj2k/t3-cat-search - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Search &amp; Filtering](/categories/search)
4. /
5. madj2k/t3-cat-search

ActiveTypo3-cms-extension[Search &amp; Filtering](/categories/search)

madj2k/t3-cat-search
====================

This extensions allows you to tag data-sets with categories and search for them

v13.4.1-stable(3mo ago)0255GPL-2.0+PHPPHP &gt;=8.3

Since Oct 26Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/skroggel/t3-cat-search)[ Packagist](https://packagist.org/packages/madj2k/t3-cat-search)[ Docs](https://www.steffenkroggel.de)[ RSS](/packages/madj2k-t3-cat-search/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (1)Dependencies (1)Versions (37)Used By (0)

CatSearch
=========

[](#catsearch)

With the extension, products, documents and product accessories can be tagged with categories. Furthermore, the different types of data records can be related to each other so that, for example, corresponding accessories or operating instructions can be assigned to a product. A flexible detail page can also be used to show details for each product, document or product accessory.

The assigned categories can be used as filters to filter the data records via different plugins. The filters can be grouped into filter-groups (facets) and can be freely combined by the editors of the website. The extension also supports a free text search and comes with a ready-to-use interation with *ke\_search*.

Installation
============

[](#installation)

Install the extension and then include the TypoScript.

Plugins
=======

[](#plugins)

The extension contains three central plugins:

Search
------

[](#search)

The search plugin can be used to search products, product accessories or documents according to specific filter groups. The filter groups can be customised.

A free text search, a search by year and a search for related products are also possible. Each filter can also be defined as a multiple selection in the plugin. It is also possible to pre-filter the display of records (include/exclude). The search results can be sorted according to defined criteria via frontend.

SearchRelated
-------------

[](#searchrelated)

This plugin can be installed below the search plugin. It accesses the search mask of the search plugin. This makes it possible, for example, to add accessories to the search results.

TeaserFiltered
--------------

[](#teaserfiltered)

With this plugin, products, accessories or documents can be displayed according to defined criteria.

Detail
------

[](#detail)

This plugin displays the details of the respective data record.

Settings
========

[](#settings)

TypoScript
----------

[](#typoscript)

Numerous settings can be made via TypoScript. Two that require a little more explanation are explained in more detail here:

### sorting

[](#sorting)

A comma-separated list of database fields that can be sorted by. The field name is followed by either ‘asc’ for ascending sorting or ‘desc’ for descending sorting, separated by a hash.

### useSessionCookie

[](#usesessioncookie)

By default, all user search parameters are appended as parameters to the link for pagination, for example. Alternatively, this can also be saved in the FE session.

ExtConf
-------

[](#extconf)

Central settings can be made via the ExtConf.

### Primary filter

[](#primary-filter)

Up to five so-called primary filters can be defined for the data records. This makes it possible to assign particularly important filters in separate fields.

Integration with ke\_search extension
-------------------------------------

[](#integration-with-ke_search-extension)

This extension has a hook for integration with ke\_search. The tables and fields to be indexed can be defined via the ExtConf.

PageTitleProvider
-----------------

[](#pagetitleprovider)

The extension has an integrated PageTitle provider for the detailed view. The fields used can be set via the ExtConf.

ContentElements
---------------

[](#contentelements)

tt\_content data records can also be assigned to the data records. If you only want to allow specific content element to be added to the records of this extension, you can define this in the extension-configuration in the backend.

**contentElementsAllowedCTypes** sets the allowed cType. Use a semicolon-separated list. Each entry consists of the value and the label, separated by comma. The following example would add the cTypes header and text with the Labels "Super Header" and "Super Text":

```
header,Super Header;text,Super Text

```

If you override the allowed cTypes with **contentElementsDefaultCType** you also should set the default cType. Otherwise TYPO3 will use the cType "text" as default - no matter if you allowed it or not. This can lead to unexpected results. The following example sets "header" as new default cType

```
header

```

Individualisation of the fields of the data records
---------------------------------------------------

[](#individualisation-of-the-fields-of-the-data-records)

The ExtConf can be used to specify which fields should be hidden in the backend for product, document or accessory data records. This allows maximum customisation.

Plugin header
-------------

[](#plugin-header)

The ExtConf can be used to specify whether certain plugin types can be created with or without headlines. This can be relevant for customising the display.

Miscellaneous
=============

[](#miscellaneous)

Layouts
-------

[](#layouts)

The plugins offer the option of selecting different layouts, which can then be used in the templates for different displays. To customise the layouts available for selection, proceed as follows:

```
// Important: You have to specifiy the extension-plugin (e.g. catsearch_search)
// AND the tab in the flexform (e.g. view) correctly
TCEFORM.tt_content.pi_flexform.catsearch_search.view.settings\.layout {

    // add new option "List"
    addItems.list = List

    // Override label of existing option "default"
    altLabels.default = Slot

    // remove option "big"
    removeItems = big
}

```

Layouts can also be defined in the data records, which then change the layout depending on the data record. To customise this, proceed as follows:

```
TCEFORM {

	tx_catsearch_domain_model_filterable {

        // customize field
        layout {
            // add new option "List"
            addItems.list = List

            // Override label of existing option "default"
            altLabels.default = Slot

            // remove option "big"
            removeItems = big
        }
    }
}

```

Customizing TCA
---------------

[](#customizing-tca)

Here are some common examples for customizing the backend fields

```
// remove description-field for products only by removing it from the specific palette
$GLOBALS['TCA']['tx_catsearch_domain_model_filterable']['palettes']['description_product']['showitem'] =
    str_replace('description,', '', $GLOBALS['TCA']['tx_catsearch_domain_model_filterable']['palettes']['description_product']['showitem']);

// add RTE to header-field
$GLOBALS['TCA']['tx_catsearch_domain_model_filterable']['columns']['header']['config']['type'] = 'text';
$GLOBALS['TCA']['tx_catsearch_domain_model_filterable']['columns']['header']['config']['enableRichtext'] = true;
$GLOBALS['TCA']['tx_catsearch_domain_model_filterable']['columns']['header']['config']['richtextConfiguration'] = 'YourConfig';

// set maxItems for images
$GLOBALS['TCA']['tx_catsearch_domain_model_filterable']['columns']['images']['config']['maxitems'] = 8;

// remove downloads-field completely
$GLOBALS['TCA']['tx_catsearch_domain_model_filterable']['columns']['downloads']['config']['type'] = 'passthrough';

```

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance79

Regular maintenance activity

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~14 days

Recently: every ~93 days

Total

35

Last Release

109d ago

Major Versions

v12.4.32-stable → v13.4.0-stable2026-01-24

PHP version history (3 changes)v12.4.0-stablePHP &gt;=8.2

v12.4.1-stablePHP &gt;=8.1

v13.4.0-stablePHP &gt;=8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/ca11ace9490b8fe0b145e7d32464fba5c8eddaa88d700b95d32241a226623e76?d=identicon)[SteffenKroggel](/maintainers/SteffenKroggel)

---

Top Contributors

[![skroggel](https://avatars.githubusercontent.com/u/8121847?v=4)](https://github.com/skroggel "skroggel (81 commits)")

---

Tags

searchtagcategoriesTYPO3 CMS

### Embed Badge

![Health badge](/badges/madj2k-t3-cat-search/health.svg)

```
[![Health](https://phpackages.com/badges/madj2k-t3-cat-search/health.svg)](https://phpackages.com/packages/madj2k-t3-cat-search)
```

###  Alternatives

[apache-solr-for-typo3/solr

Apache Solr for TYPO3 - Apache Solr for TYPO3 is the enterprise search server you were looking for with special features such as Faceted Search or Synonym Support and incredibly fast response times of results within milliseconds.

1463.2M42](/packages/apache-solr-for-typo3-solr)[tpwd/ke_search

Search Extension for TYPO3, including faceting search functions.

15898.6k17](/packages/tpwd-ke-search)[dmk/mksearch

Generic highly adjustable and extendable search engine framework, using Zend Lucene, Apache Solr or ElasticSearch. But support for other search engines can be provided easily.

1331.2k](/packages/dmk-mksearch)[dialekt/dialekt

A boolean expression DSL.

173.8k](/packages/dialekt-dialekt)[lochmueller/index

Smart and flexible async indexing of pages and documents for search engines, AI providers, and other external systems.

111.1k3](/packages/lochmueller-index)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
