Keep hidden headers (header_layout 100) out of the JSON

Applied on all three render paths: stdWrap.if rule on
lib.contentElementWithHeader (before the plugin copies), the same rule in
the container element definitions, and a HiddenHeaderProcessor behind the
nb content-blocks data processor. headerLayout itself stays in the payload
so the front end can tell why the header is empty.
This commit is contained in:
orasche committed 2026-09-04 13:21:50 +02:00
1 parent 5499ca54af
commit 5aad13e635
3 files changed
+82

No files matched your search

@@ -17,6 +17,34 @@ config {
@import 'EXT:headless/Configuration/TypoScript/ContentElement/*.typoscript'
# =============================================================================
# header_layout 100 = "Hidden" (decision 2026-09-04): such headers stay OUT of
# the JSON - header, subheader and headerLink render empty. headerLayout (100)
# stays in the payload so the front end could still tell why. Placed BEFORE
# the `< lib.contentElementWithHeader` copies below, which snapshot this lib.
# The content-blocks `data` path gets the same rule via HiddenHeaderProcessor.
# =============================================================================
lib.contentElementWithHeader.fields.content.fields {
header.stdWrap.if {
value = 100
equals.field = header_layout
negate = 1
}
subheader.stdWrap.if {
value = 100
equals.field = header_layout
negate = 1
}
headerLink.stdWrap.if {
value = 100
equals.field = header_layout
negate = 1
}
}
lib.contentBlock.fields.data.dataProcessing.20 = Evomedien\Vitec\DataProcessing\HiddenHeaderProcessor
# =============================================================================
# Headless list-plugin JSON renderers (TYPO3 v14: each plugin is its own CType)
#