VITEC headless v14: 5-bug fix unifies plugin renderers + cleanup

Resolves a cascade of TYPO3 v14 breaking changes that left every VITEC
plugin's JSON output silently empty:

1. `list_type` column dropped — all renderer page-discovery queries now
   filter by `CType = 'vitec_X'`.
2. `#[AsAllowedCallable]` attribute added to every public render() —
   without it v14 throws AllowedCallableException, which headless
   silently filters via its "Oops, an error occurred!" guard.
3. `$GLOBALS['TSFE']->id` is null inside JSON cObj context — page id
   now read from the `frontend.page.information` request attribute
   (TSFE fallback kept for legacy entry points).
4. page.tsconfig wizard items migrated to `CType = vitec_X` directly
   (legacy `CType=list, list_type=...` no longer exists in v14).
5. ContainerChildrenProcessor + ContentElementResolver dispatch the
   PLUGIN_RENDERERS map by CType (primary) with list_type fallback.

Beyond the bug fix this commit also contains:
- Datasheets renderer rewritten to "products with newest datasheet"
  semantics (filtered via Download.hideondatasheets).
- New vitec/card content block — multi-purpose card with backend
  preview and layout/background/aspect/alignment/border/shadow options.
- New vitec_container CType (b13 single-column container, FlexForm
  cssClass propagated into the JSON envelope).
- ContentElementResolver service for contentelement/contentelementcta
  link resolution; ContainerChildrenProcessor for nested plugin
  resolution inside b13 containers.
- Vitecset setup.typoscript: ContentElement import moved to top so
  lib.contentElement is defined before VITEC's tt_content blocks.
- Cleanup: 98 .bak.<timestamp> debugging backups removed; *.bak.* and
  /public/_assets_install/ added to .gitignore.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
o-rascheandClaude Opus 4.7 committed 2026-06-15 14:29:17 +02:00
1 parent 64ea55d29d
commit 3aaf8fdad5
98 files changed
+5650 -10154

No files matched your search

+10 -20
View File
@@ -13,8 +13,7 @@ mod {
title = List of VITEC Products
description = LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_productlist.description
tt_content_defValues {
CType = list
list_type = vitec_productlist
CType = vitec_productlist
}
}
productshow {
@@ -22,8 +21,7 @@ mod {
title = Show single VITEC Product
description = Either show a single product coming from a list, OR select a specific product in flexform
tt_content_defValues {
CType = list
list_type = vitec_productshow
CType = vitec_productshow
}
}
usecaseshow {
@@ -31,8 +29,7 @@ mod {
title = Show single VITEC Success Story
description = Shows a selected Success Story in a Card with different layouts
tt_content_defValues {
CType = list
list_type = vitec_usecaseshow
CType = vitec_usecaseshow
}
}
marketshow {
@@ -40,8 +37,7 @@ mod {
title = Show single VITEC Market
description = Shows a selected Market in a Card with different layouts
tt_content_defValues {
CType = list
list_type = vitec_marketshow
CType = vitec_marketshow
}
}
solutionshow {
@@ -49,8 +45,7 @@ mod {
title = Show single VITEC Solution
description = Shows a selected Solution in a Card with different layouts
tt_content_defValues {
CType = list
list_type = vitec_solutionshow
CType = vitec_solutionshow
}
}
usecaselist {
@@ -58,8 +53,7 @@ mod {
title = Show all VITEC Success Stories
description = LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_usecaselist.description
tt_content_defValues {
CType = list
list_type = vitec_usecaselist
CType = vitec_usecaselist
}
}
downloadcard {
@@ -67,8 +61,7 @@ mod {
title = Downloadcard for single Download
description = LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_usecaselist.description
tt_content_defValues {
CType = list
list_type = vitec_downloadcard
CType = vitec_downloadcard
}
}
downloadcardcollection {
@@ -76,8 +69,7 @@ mod {
title = Downloadcard Collection
description = Multiple Downloads in one Card
tt_content_defValues {
CType = list
list_type = vitec_downloadcardcollection
CType = vitec_downloadcardcollection
}
}
datasheets {
@@ -85,8 +77,7 @@ mod {
title = VITEC Datasheets
description = Interactive datasheets with filtering and download functionality
tt_content_defValues {
CType = list
list_type = vitec_datasheets
CType = vitec_datasheets
}
}
simplecard {
@@ -94,8 +85,7 @@ mod {
title = Simple Card
description = Simple Card (Image, Title, Text, Link)
tt_content_defValues {
CType = list
list_type = vitec_simplecard
CType = vitec_simplecard
}
}