PHPackages                             ichhabrecht/content-defender - 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. ichhabrecht/content-defender

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

ichhabrecht/content-defender
============================

Define allowed or denied content element types in your backend layouts

3.5.3(1y ago)953.2M↓43.7%48[34 issues](https://github.com/IchHabRecht/content_defender/issues)[18 PRs](https://github.com/IchHabRecht/content_defender/pulls)18GPL-2.0-or-laterPHPPHP ^8.1CI failing

Since May 8Pushed 1y ago8 watchersCompare

[ Source](https://github.com/IchHabRecht/content_defender)[ Packagist](https://packagist.org/packages/ichhabrecht/content-defender)[ Docs](https://github.com/IchHabRecht/content_defender)[ RSS](/packages/ichhabrecht-content-defender/feed)WikiDiscussions main Synced 2d ago

READMEChangelog (10)Dependencies (11)Versions (50)Used By (18)

TYPO3 Extension content\_defender
=================================

[](#typo3-extension-content_defender)

[![Latest Stable Version](https://camo.githubusercontent.com/54bdd17254600da5a6997230fe1d0b1965e8a45b09d6332096032e8f551bfaa3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f69636868616272656368742f636f6e74656e742d646566656e6465722e737667)](https://packagist.org/packages/ichhabrecht/content-defender)[![StyleCI](https://camo.githubusercontent.com/35d755fc760573ac5bbdff6ced0d92bda132e4a1339338001180e95938b8cbba/68747470733a2f2f7374796c6563692e696f2f7265706f732f39303534353134332f736869656c643f6272616e63683d6d61696e)](https://styleci.io/repos/90545143)[![GitHub Actions](https://github.com/IchHabRecht/content_defender/actions/workflows/test.yml/badge.svg?event=push)](https://github.com/IchHabRecht/content_defender/actions/workflows/test.yml/badge.svg?event=push)

Content Defender adds more options to define allowed or denied content element types in your backend layouts

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

[](#installation)

This extension can be installed using Composer or the Extension Manager.

### Composer

[](#composer)

```
composer require ichhabrecht/content-defender

```

### Extension Manager

[](#extension-manager)

See [TYPO3 Documentation - Managing Extensions - Legacy Guide](https://docs.typo3.org/m/typo3/tutorial-getting-started/main/en-us/Extensions/LegacyManagement.html)

Usage
-----

[](#usage)

1. You only need to adjust the column configuration of your backend\_layout

**Restrict certain content element fields**

- To allow a limited set of values for content element fields use `allowed.field = [list of comma separated values]`

*Examples:*

```
columns {
    1 {
        name = Column with header and textmedia elements
        colPos = 3
        colspan = 6
        allowed {
            CType = header, textmedia
        }
    }
}

```

```
columns {
    1 {
        name = Column with News plugin only
        colPos = 3
        colspan = 6
        allowed {
            CType = list
            list_type = news_pi1
        }
    }
}

```

**Combine multiple content element fields**

- The example allows multiple content element types (text and list) while restricting plugin types to `news` only.

*Example:*

```
columns {
    1 {
        name = A column with restricted list_type and "normal" CType
        colPos = 3
        colspan = 6
        allowed {
            CType = textmedia, list
            list_type = news_pi1
        }
    }
}

```

**Deny certain content element types**

- To remove a set of values from content element fields use `disallowed.field = [list of comma separated values]`

*Examples:*

```
columns {
    1 {
        name = Column without divider, plain html and table elements
        colPos = 3
        colspan = 6
        disallowed {
            CType = div, html, table
        }
    }
}

```

```
columns {
    1 {
        name = Column with header and list, without News plugin
        colPos = 3
        colspan = 6
        allowed {
            CType = header, list
        }
        disallowed {
            list_type = news_pi1
        }
    }
}

```

**Limit the number of content elements**

- To restrict the number of content elements use `maxitems = [number of elements]`

*Example:*

```
columns {
    1 {
        name = Column with one textmedia
        colPos = 3
        colspan = 6
        allowed {
            CType = textmedia
        }
        maxitems = 1
    }
}

```

Known issues
------------

[](#known-issues)

### TypeError

[](#typeerror)

*count(): Argument #1 ($value) must be of type Countable|array, null given*

Content Defender needs the runtime cache to be available. Please ensure that this cache **doesn't use** a \\TYPO3\\CMS\\Core\\Cache\\Backend\\NullBackend backend.

Community
---------

[](#community)

- Thanks to [b13](https://b13.com) that sponsored the maintenance of this extension with a sponsorship
- Thanks to [Wolfgang Wagner](https://wwagner.net) who sponsored the maintenance of this extension with a sponsorship
- Thanks to [WACON Internet GmbH](https://www.wacon.de) that sponsored the maintenance of this extension with a [GitHub sponsorship](https://github.com/sponsors/IchHabRecht)
- Thanks to [Daniel Goerz](https://twitter.com/ervaude) who wrote about content\_defender in his blog [useTYPO3](https://usetypo3.com/backend-layouts.html)
- Thanks to [Marcus Schwemer](https://twitter.com/MarcusSchwemer) who wrote about content\_defender in his blog [TYPO3worx](https://typo3worx.eu/2017/07/typo3-extension-roundup-q1-q2-2017/)

###  Health Score

58

—

FairBetter than 98% of packages

Maintenance35

Infrequent updates — may be unmaintained

Popularity59

Moderate usage in the ecosystem

Community37

Small or concentrated contributor base

Maturity85

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 91.3% 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 ~67 days

Recently: every ~82 days

Total

44

Last Release

463d ago

Major Versions

1.0.3 → 2.0.02017-05-11

2.2.4 → 3.0.02017-12-18

2.2.5 → 3.0.32018-02-01

2.x-dev → 3.0.42018-03-12

PHP version history (7 changes)3.0.10PHP &gt;= 5.5, &lt; 7.4

3.0.12PHP &gt;= 5.5, &lt; 7.5

3.1.0PHP &gt;= 7.0, &lt; 7.5

3.2.0PHP &gt;= 7.2, &lt; 7.5 || &gt;= 8.0, &lt; 8.1

3.2.2PHP &gt;= 7.2, &lt; 7.5 || ^8.0

3.x-devPHP ^7.4 || ^8.0

3.5.0PHP ^8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1453345?v=4)[Nicole Hummel](/maintainers/IchHabRecht)[@IchHabRecht](https://github.com/IchHabRecht)

---

Top Contributors

[![IchHabRecht](https://avatars.githubusercontent.com/u/1453345?v=4)](https://github.com/IchHabRecht "IchHabRecht (294 commits)")[![kevin-appelt](https://avatars.githubusercontent.com/u/25666167?v=4)](https://github.com/kevin-appelt "kevin-appelt (13 commits)")[![revoltek-daniel](https://avatars.githubusercontent.com/u/5931272?v=4)](https://github.com/revoltek-daniel "revoltek-daniel (3 commits)")[![koehnlein](https://avatars.githubusercontent.com/u/16088567?v=4)](https://github.com/koehnlein "koehnlein (2 commits)")[![mbrodala](https://avatars.githubusercontent.com/u/5037116?v=4)](https://github.com/mbrodala "mbrodala (2 commits)")[![mschwemer](https://avatars.githubusercontent.com/u/103594?v=4)](https://github.com/mschwemer "mschwemer (1 commits)")[![spoonerWeb](https://avatars.githubusercontent.com/u/1793083?v=4)](https://github.com/spoonerWeb "spoonerWeb (1 commits)")[![DavidR93](https://avatars.githubusercontent.com/u/47664027?v=4)](https://github.com/DavidR93 "DavidR93 (1 commits)")[![SvenJuergens](https://avatars.githubusercontent.com/u/20923295?v=4)](https://github.com/SvenJuergens "SvenJuergens (1 commits)")[![goldi42](https://avatars.githubusercontent.com/u/113867?v=4)](https://github.com/goldi42 "goldi42 (1 commits)")[![jdreesen](https://avatars.githubusercontent.com/u/424602?v=4)](https://github.com/jdreesen "jdreesen (1 commits)")[![josefglatz](https://avatars.githubusercontent.com/u/2861556?v=4)](https://github.com/josefglatz "josefglatz (1 commits)")[![mkroener](https://avatars.githubusercontent.com/u/112870221?v=4)](https://github.com/mkroener "mkroener (1 commits)")

---

Tags

backendcontentlayoutrestrictiontypo3typo3-cmstypo3-extensioncontentbackendTYPO3 CMSrestrict

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/ichhabrecht-content-defender/health.svg)

```
[![Health](https://phpackages.com/badges/ichhabrecht-content-defender/health.svg)](https://phpackages.com/packages/ichhabrecht-content-defender)
```

###  Alternatives

[friendsoftypo3/content-blocks

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

103519.9k53](/packages/friendsoftypo3-content-blocks)[wazum/sluggi

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

40529.5k](/packages/wazum-sluggi)[yoast-seo-for-typo3/yoast_seo

Yoast SEO for TYPO3

511.7M9](/packages/yoast-seo-for-typo3-yoast-seo)[typo3/cms-redirects

TYPO3 CMS Redirects - Create manual redirects, list existing redirects and automatically createredirects on slug changes.

167.4M80](/packages/typo3-cms-redirects)[netresearch/rte-ckeditor-image

Image support in CKEditor for the TYPO3 ecosystem - by Netresearch

611.1M8](/packages/netresearch-rte-ckeditor-image)[web-vision/wv_deepltranslate

DeepL Translate (CORE) - This extension provides option to translate content element, and TCA record texts to DeepL supported languages.

33304.3k](/packages/web-vision-wv-deepltranslate)

PHPackages © 2026

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