ichhabrecht/content-defender

Define allowed or denied content element types in your backend layouts

Maintainers

👁 IchHabRecht

Package info

github.com/IchHabRecht/content_defender

Type:typo3-cms-extension

pkg:composer/ichhabrecht/content-defender

Statistics

Installs: 3 149 535

Dependents: 14

Suggesters: 2

Stars: 90

Open Issues: 52

3.5.3 2025-03-27 00:37 UTC

Requires

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

  • typo3-ter/content-defender: 3.5.3

GPL-2.0-or-later dab78e79e3c53f13924a82ae9bbfa9141989d37d

  • Nicole Hummel <nicole-typo3.woop@nimut.dev>

backendcontentTYPO3 CMSrestrict


README

👁 Latest Stable Version
👁 StyleCI
👁 GitHub Actions

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

Installation

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

Composer

composer require ichhabrecht/content-defender

Extension Manager

See TYPO3 Documentation - Managing Extensions - Legacy Guide

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

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