PHPackages                             remind/typo3-headless - 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. [API Development](/categories/api)
4. /
5. remind/typo3-headless

Abandoned → [remind/headless](/?search=remind%2Fheadless)Typo3-cms-extension[API Development](/categories/api)

remind/typo3-headless
=====================

REMIND - Headless

v5.0.2(2mo ago)1971GPL-3.0-or-laterPHPPHP ^8CI passing

Since Feb 24Pushed 5d agoCompare

[ Source](https://github.com/remindgmbh/headless)[ Packagist](https://packagist.org/packages/remind/typo3-headless)[ RSS](/packages/remind-typo3-headless/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (10)Dependencies (20)Versions (22)Used By (0)

REMIND - Headless Extension
===========================

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

This extension provides:

- base content elements
- additional fields for pages and tt\_content (e.g. items)
- extended flex form processor
- image processing middleware
- base configuration for form\_framework
- a default backend layout

Installation
------------

[](#installation)

Use comoser to install the extension using `composer install remind/headless`. Import typoscript in your provider extension.

Add the following to your site config:

```
headless: 1
```

Dependencies
------------

[](#dependencies)

Required dependencies are [headless](https://github.com/TYPO3-Headless/headless) and [content-defender](https://github.com/IchHabRecht/content_defender). The latter is used in the default backend layout.

Backend Layouts
---------------

[](#backend-layouts)

### Default

[](#default)

The default layout consists of 1 column with 2 rows. Besides the main content (colPos = 0) there is also one column for content above the breadcrumbs (colPos = 1).

TCA
---

[](#tca)

### tt\_content

[](#tt_content)

#### tx\_headless\_item

[](#tx_headless_item)

Field of type inline. Basically `tx_headless_item` acts like tt\_content without a `colPos`. Used for `accordion` and `tabs`. See one of these definition on how to use items and override the showitem definition. Nested items are possible as well, however flexform only work for top level items for now.

To add a flexform to an item add the following configuration to `TCA/Overrides/tx_headless_item.php`:

`$GLOBALS['TCA']['tx_headless_item']['columns']['flexform']['config']['ds'][''] = '';`

The `flexform` column has to be added to `showitem` of the respective tt\_content type as well. For example, to add a flexform to the accordion type the following must contain the flexform column:

`$GLOBALS['TCA']['tt_content']['types']['accordion']['columnsOverrides']['tx_headless_item']['config']['overrideChildTca']['types']['0']['showitem']`

To ouput the flexform data in the frontend, the flexform field has to be added to the content elements typoscript. Example for modified `Accordion.typoscript`:

```
lib.accordionItems =< lib.items
lib.accordionItems {
    dataProcessing {
        10 {
            fields {
                flexform {
                    dataProcessing {
                        10 = Remind\Headless\DataProcessing\FlexFormProcessor
                        10 {
                            fieldName = flexform
                            as = flexform
                        }
                    }
                }
            }
        }
    }
}

tt_content.accordion =< lib.contentElementWithHeader
tt_content.accordion {
    fields {
        content {
            fields {
                items =< lib.accordionItems
            }
        }
    }
}

```

#### header\_layout

[](#header_layout)

Values for text, H1-H6 and hidden.

#### tx\_headless\_background\_color

[](#tx_headless_background_color)

A background color for all content elements. Only option `none` exists per default. Add options per content element by using `columnOverrides`:

```
    'columnsOverrides' => [
        'tx_headless_background_color' => [
            'config' => [
                'items' => [
                    1 => [
                        'label' => 'Custom Color',
                        'value' => 'custom',
                    ],
                ],
            ],
        ],
    ],
```

#### tx\_headless\_background\_full\_width

[](#tx_headless_background_full_width)

Only visible if `tx_headless_background_color` is other than `none`. Used to extend the background color to full width instead of the content container only.

#### tx\_headless\_space\_before\_inside

[](#tx_headless_space_before_inside)

Addition to `space_before`. Space before the content element, but inside the background color. Only available if `tx_headless_background_color` is other than none.

#### tx\_headless\_space\_after\_inside

[](#tx_headless_space_after_inside)

Similar to `space_before_inside`.

### pages

[](#pages)

#### tx\_headless\_footer

[](#tx_headless_footer)

The `tx_headless_footer` flexform field contains the footer content. Use the following code to set a flexform:

```
\Remind\Headless\Utility::setFooterFlexForm('FILE:EXT:provider_extension/Configuration/FlexForms/Footer.xml');
```

#### tx\_headless\_overview\_label

[](#tx_headless_overview_label)

An `tx_headless_overview_label` field is added to the page TCA. The field should be used to customize the label for the overview pages.

### Crop Variants

[](#crop-variants)

`ImageProcessingMiddleware` accepts a breakpoint as a query parameter and uses a crop variant by that name if available. Appropriate crop variants have to be created for content elements.

Example for crop variants for breakpoints sm, md and lg for `textpic`:

```
$GLOBALS['TCA']['tt_content']['types']['textpic']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config'] = [
	'cropVariants' => [
		'sm' => [
			// configuration
		],
		'md' => [
			// configuration
		],
		'lg' => [
			// configuration
		],
	],
];
```

Example for crop variants for breakpoints sm, md and lg for `accordion` items:

```
$GLOBALS['TCA']['tt_content']['types']['accordion']['columnsOverrides']['tx_headless_item']['config']['overrideChildTca']['columns']['image']['config']['overrideChildTca']['columns']['crop']['config'] = [
	'cropVariants' => [
		'sm' => [
			// configuration
		],
		'md' => [
			// configuration
		],
		'lg' => [
			// configuration
		],
	],
];
```

Content Elements
----------------

[](#content-elements)

### accordion

[](#accordion)

Uses `tx_headless_item`, items consist of text (header, subheader, bodytext, title), a flexform field and images.

### tabs

[](#tabs)

Uses `tx_headless_item`, items consist of text (header, subheader, bodytext) only.

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance92

Actively maintained with recent releases

Popularity12

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 96.6% 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

Total

18

Last Release

86d ago

Major Versions

1.0.0 → 2.0.02022-10-25

2.x-dev → 3.0.02023-06-22

v3.3.0 → v4.0.02024-11-13

v4.2.0 → v5.0.02026-02-24

PHP version history (4 changes)1.0.0PHP ^7.4.0

2.0.0PHP ^8.1

3.0.0PHP ^8.2

v5.0.0PHP ^8

### 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 (257 commits)")[![doleh](https://avatars.githubusercontent.com/u/73342114?v=4)](https://github.com/doleh "doleh (8 commits)")[![KonstantCode](https://avatars.githubusercontent.com/u/151463095?v=4)](https://github.com/KonstantCode "KonstantCode (1 commits)")

###  Code Quality

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

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

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

###  Alternatives

[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

101466.4k45](/packages/friendsoftypo3-content-blocks)[hn/typo3-mcp-server

TYPO3 extension that provides a Model Context Protocol (MCP) server for interacting with TYPO3 pages and records

8517.6k](/packages/hn-typo3-mcp-server)[wazum/sluggi

TYPO3 extension for URL slug management with inline editing, auto-sync, locking, access control, and redirects

41515.2k](/packages/wazum-sluggi)[sinso/app-routes

Easy way to route rest-like URLs to your code

23114.6k1](/packages/sinso-app-routes)[pagemachine/searchable

TYPO3 extension to index and search content with Elasticsearch

1039.3k](/packages/pagemachine-searchable)[kitodo/presentation

Base plugins, modules, services and API of the Digital Library Framework. It is part of the community-based Kitodo Digitization Suite.

446.6k6](/packages/kitodo-presentation)

PHPackages © 2026

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