PHPackages                             remind/extbase - 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. remind/extbase

ActiveTypo3-cms-extension

remind/extbase
==============

REMIND - Extbase

v3.1.0(1mo ago)06064GPL-3.0-or-laterPHPPHP ^8.2CI passing

Since Apr 28Pushed 1mo agoCompare

[ Source](https://github.com/remindgmbh/extbase)[ Packagist](https://packagist.org/packages/remind/extbase)[ RSS](/packages/remind-extbase/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (24)Versions (17)Used By (4)

REMIND - Extbase Extension
==========================

[](#remind---extbase-extension)

This extension provides basic functionality that can be used in other extbase extensions, mainly configurations and utilities/services for Plugins that allow consistent list, filter and detail views.

Plugins
-------

[](#plugins)

Plugins can have on of three types: Detail, FilterableList or SelectionList. To configure a plugin using one of these types first register a plugin the usual way using `TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin` and then use the returned plugin signature along with the desired type and the table name to call `Remind\Extbase\Utility\PluginUtility::addTcaType`. These calls should happen in `tt_content.php`.

```
$filterableListSignature = ExtensionUtility::registerPlugin(
    'Products',
    'FilterableList',
    'LLL:EXT:rmnd_products/Resources/Private/Language/locallang_tca.xlf:filterableList',
    'productsfilterablelist',
    'Products'
);

PluginUtility::addTcaType($filterableListSignature, PluginType::FILTERABLE_LIST, 'tx_products_domain_model_product');
```

FilterValueMapper
-----------------

[](#filtervaluemapper)

Used to modify filter keys and check filter values. Filter query parameters use an array syntax like `?filter[name]=...&filter[title]=...` and the `FilterValueMapper` allows to change the array key by using aspects. In addition, only values defined in `pi_flexform` field of `tt_content` with `CType` defined in config are allowed for values. `parameters` and `aspects` act the same as in `ExtbaseQuery Route Enhancer` config.

Example for `?filter[name]=...&filter[title]=...`:

```
aspects:
  filter:
    type: FilterValueMapper
    tableName: tx_contacts_domain_model_contact
    cType: contacts_filterablelist
    parameters:
      keys:
        name: Name
        title: titleKey
    aspects:
      titleKey:
        type: LocaleModifier
        default: Title
        localeMap:
          -
            locale: 'de_DE.*'
            value: Titel
```

With these settings, the query parameters will look like this:

English: `?filter[Name]=...&filter[Title]=...`

German: `?filter[Name]=...&filter[Titel]=...`

###  Health Score

49

—

FairBetter than 95% of packages

Maintenance89

Actively maintained with recent releases

Popularity16

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 86% 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 ~88 days

Recently: every ~46 days

Total

13

Last Release

55d ago

Major Versions

v1.2.0 → v2.0.02025-02-27

v2.1.3 → v13.x-dev2026-02-25

PHP version history (2 changes)1.0.0PHP ^8.1

v1.1.0PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/8d03cd13f9debb6b3cac65176a1743811fc4f24f3d2bb20a4c324c006382f072?d=identicon)[remindgmbh](/maintainers/remindgmbh)

---

Top Contributors

[![dvdmlln](https://avatars.githubusercontent.com/u/64189384?v=4)](https://github.com/dvdmlln "dvdmlln (135 commits)")[![doleh](https://avatars.githubusercontent.com/u/73342114?v=4)](https://github.com/doleh "doleh (19 commits)")[![moinferdi](https://avatars.githubusercontent.com/u/72518624?v=4)](https://github.com/moinferdi "moinferdi (2 commits)")[![leakleinr](https://avatars.githubusercontent.com/u/19210456?v=4)](https://github.com/leakleinr "leakleinr (1 commits)")

---

Tags

cmsextbasetypo3REMIND

###  Code Quality

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/remind-extbase/health.svg)

```
[![Health](https://phpackages.com/badges/remind-extbase/health.svg)](https://phpackages.com/packages/remind-extbase)
```

###  Alternatives

[typo3/testing-framework

The TYPO3 testing framework provides base classes for unit, functional and acceptance testing.

675.0M775](/packages/typo3-testing-framework)[pagemachine/typo3-formlog

Form log for TYPO3

23225.3k6](/packages/pagemachine-typo3-formlog)[leuchtfeuer/secure-downloads

"Secure Download": Apply TYPO3 access rights to ALL file assets (PDFs, TGZs or JPGs etc. - configurable) - protect them from direct access.

22234.7k1](/packages/leuchtfeuer-secure-downloads)[koninklijke-collective/my-redirects

TYPO3 Extension: Redirects management

17152.4k](/packages/koninklijke-collective-my-redirects)[leuchtfeuer/locate

Locate - The users country, preferred language and other facts will be detected. Depending on configurable rules the user can be redirected to other languages or pages. Locate also provides geo blocking for configurable pages in configurable countries.

1182.8k](/packages/leuchtfeuer-locate)[t3kit/t3kit

t3kit project. A TYPO3 website starterkit.

5624.3k](/packages/t3kit-t3kit)

PHPackages © 2026

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