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(2mo ago)078↓30%GPL-2.0-or-laterPHPPHP &gt;=8.3CI passing

Since Apr 7Pushed 2mo 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 yesterday

READMEChangelog (3)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

41

—

FairBetter than 87% of packages

Maintenance84

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

81d 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 (6 commits)")

---

Tags

typo3typo3-extensiontypo3features

###  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

103574.3k64](/packages/friendsoftypo3-content-blocks)[eliashaeussler/typo3-form-consent

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

15100.9k](/packages/eliashaeussler-typo3-form-consent)[pagemachine/typo3-formlog

Form log for TYPO3

23243.0k8](/packages/pagemachine-typo3-formlog)[eliashaeussler/typo3-warming

Warming - Warms up Frontend caches based on an XML sitemap. Cache warmup can be triggered via TYPO3 backend or using a console command. Supports multiple languages and custom crawler implementations.

22272.4k](/packages/eliashaeussler-typo3-warming)[yoast-seo-for-typo3/yoast_seo

Yoast SEO for TYPO3

571.8M9](/packages/yoast-seo-for-typo3-yoast-seo)[friendsoftypo3/visual-editor

TYPO3 CMS Visual Editor - Brings a modern WYSIWYG editing experience to TYPO3 CMS.

6010.0k3](/packages/friendsoftypo3-visual-editor)

PHPackages © 2026

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