PHPackages                             marekskopal/typo3-features - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. marekskopal/typo3-features

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

marekskopal/typo3-features
==========================

Features plugin for TYPO3 CMS

v1.0.2(1mo ago)053↓16.7%GPL-2.0-or-laterPHPPHP &gt;=8.3CI passing

Since Apr 7Pushed 1mo agoCompare

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

READMEChangelog (2)Dependencies (26)Versions (4)Used By (0)

TYPO3 Features Extension (ms\_features)
=======================================

[](#typo3-features-extension-ms_features)

A TYPO3 CMS extension for managing and displaying features in a responsive card-based grid layout.

Features
--------

[](#features)

- **Feature management** — title, subtitle, perex (plain text), description (rich text), multiple images
- **Topped features** — mark features as topped to highlight them visually and sort them first
- **Flexible ordering** — by sorting + topped (default), sorting only, UID, or alphabetically
- **Filtering** — show all features or only topped ones
- **Responsive grid** — CSS grid layout adapting from 1 to 3+ columns
- **Template layouts** — support for custom template overrides via TypoScript or PHP globals
- **Multilingual** — English, German, and Czech translations included
- **No JavaScript** — pure CSS layout, no JS dependencies

Requirements
------------

[](#requirements)

- PHP 8.3+
- TYPO3 13.4+ or 14.1+

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

[](#installation)

### Composer

[](#composer)

```
composer require marekskopal/typo3-features
```

### Setup

[](#setup)

1. Install the extension
2. Include the static TypoScript template "Features" in your site
3. Create Feature records on your storage page
4. Add the "Features" content element to your page

Backend Setup
-------------

[](#backend-setup)

Create **Feature** records on the page where the content element is placed:

- **Title** — feature title (required)
- **Subtitle** — optional subtitle
- **Perex** — optional short description (plain text)
- **Description** — full description with rich text editor
- **Images** — one or more images; the first image is used as the main image in the card layout
- **Topped** — mark the feature as topped for visual highlighting and priority sorting

Drag and drop features to set their display order. Then add the **Features** content element to the same page.

Content Element Options (FlexForm)
----------------------------------

[](#content-element-options-flexform)

OptionValuesDefault**Ordering**Topped + sorting, Sorting, UID, AlphabeticallyTopped + sorting**Filter**Show all, Only toppedShow all**Template layout**Custom layouts via TypoScript/PHP—Template Layouts
----------------

[](#template-layouts)

Register custom template layouts in Page TSconfig:

```
tx_msfeatures.templateLayouts {
    my_layout = My custom layout
}

```

Or in PHP (e.g. `ext_localconf.php`):

```
$GLOBALS['TYPO3_CONF_VARS']['EXT']['ms_features']['templateLayouts'][] = ['My layout label', 'my_layout'];
```

Then configure the corresponding template paths in TypoScript:

```
plugin.tx_msfeatures_feature.settings.templateLayouts {
    my_layout {
        templateRootPath = EXT:your_extension/Resources/Private/Templates/MsFeatures/MyLayout/
        partialRootPath  = EXT:your_extension/Resources/Private/Partials/MsFeatures/MyLayout/
        layoutRootPath   = EXT:your_extension/Resources/Private/Layouts/MsFeatures/MyLayout/
    }
}

```

Customization
-------------

[](#customization)

### Templates

[](#templates)

Override templates by setting custom paths in TypoScript constants:

```
plugin.tx_msfeatures_feature.view {
    templateRootPath = EXT:your_extension/Resources/Private/Templates/MsFeatures/
    partialRootPath = EXT:your_extension/Resources/Private/Partials/MsFeatures/
    layoutRootPath = EXT:your_extension/Resources/Private/Layouts/MsFeatures/
}

```

### Styling

[](#styling)

The extension includes minimal CSS. Key classes:

ClassElement`.msfeatures-wrapper`Outer wrapper (max-width 1200px)`.msfeatures__list`CSS grid container`.msfeatures__item`Single feature card`.msfeatures__item--topped`Topped feature card (highlighted border)`.msfeatures__image`Image container`.msfeatures__title`Feature title`.msfeatures__subtitle`Feature subtitle`.msfeatures__perex`Perex text`.msfeatures__description`RTE descriptionFeature Model
-------------

[](#feature-model)

FieldTypeDescription`title`stringFeature title (required)`subtitle`stringFeature subtitle`perex`textShort description (plain text)`description`RTEFull description (rich text)`images`FALMultiple images; `getMainImage()` returns the first`top`booleanTopped flag for highlighting and priority sortingLicense
-------

[](#license)

GPL-2.0-or-later

###  Health Score

42

—

FairBetter than 89% of packages

Maintenance91

Actively maintained with recent releases

Popularity11

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 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 ~21 days

Total

3

Last Release

36d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/33967656?v=4)[Marek Skopal](/maintainers/marekskopal)[@marekskopal](https://github.com/marekskopal)

---

Top Contributors

[![marekskopal](https://avatars.githubusercontent.com/u/33967656?v=4)](https://github.com/marekskopal "marekskopal (5 commits)")

---

Tags

typo3features

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/marekskopal-typo3-features/health.svg)

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

###  Alternatives

[friendsoftypo3/content-blocks

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

101466.4k45](/packages/friendsoftypo3-content-blocks)[pagemachine/typo3-formlog

Form log for TYPO3

23233.9k7](/packages/pagemachine-typo3-formlog)[georgringer/news

News system - Versatile news system based on Extbase &amp; Fluid and using the latest technologies provided by TYPO3 CMS.

2825.2M112](/packages/georgringer-news)[netresearch/rte-ckeditor-image

Image support in CKEditor for the TYPO3 ecosystem - by Netresearch

611.0M6](/packages/netresearch-rte-ckeditor-image)[eliashaeussler/typo3-form-consent

Extension for TYPO3 CMS that adds double opt-in functionality to EXT:form

1590.6k](/packages/eliashaeussler-typo3-form-consent)[wazum/sluggi

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

41515.2k](/packages/wazum-sluggi)

PHPackages © 2026

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