The signature addPiFlexFormValue($piKeyToMatch, $value, $CTypeToMatch = '*') matches $piKeyToMatch against list_type. Since your plugin has no list_type at all, putting $signature there registers a ds entry that never matches the ds_pointerField (list_type,CType) TYPO3 resolves at runtime for a CType-based element. No matching entry → no data structure identifier → the TcaFlexPrepare provider never sets it → TcaFlexProcess throws #1480765571.
Fix: swap the arguments so the CType goes into the third parameter instead:
This matches the “correct way” example in the exception docs — '*' first, CType third. This isn’t new in 14.3; it’s a longstanding call-signature quirk that used to fail more silently and now surfaces as a hard exception under the newer Schema-based flex handling.
Thanks for your help, but AI isn’t much help here—I’ve already tried that. You never know for sure if the AI is up to date enough to properly understand the new APIs.
ExtensionManagementUtility::addPiFlexFormValue() ist depecated.
If I understand the documentation correctly, you can register FlexForms using ExtensionManagementUtility::addPlugin().
That’s why I tried the following… always the same error message:
It’s really frustrating - the FE plugin no longer appears correctly in the Content Element menu (no text, no icon), the FlexForms don’t work anymore, the templates can’t be found on the page, and the content setup.typoscript no longer shows up in TYPO3.
I’ve been using TYPO3 since version 3.5, but I’ve never experienced so many breaking changes with a major release before.
It seems there’s fundamentally something wrong going on. My starter extension that I wanted to begin porting to 14.3 isn’t particularly complicated: https://github.com/docmcfly/cyContentStatistics (this version works on Typo3 13.4)
The extension-key in your composer.json is set to "cycontentstatistics" (no underscore), but your code references EXT:cy_content_statistics/... everywhere (with underscore). In TYPO3 v13 this worked because ext_emconf.php was still consulted as a fallback for key resolution, so this mismatch was masked (especially in non-composer mode). In TYPO3 v14 (as documented in composer.json — TYPO3 Explained 14.3 documentation), composer.json is the single source of truth (in both Composer and Classic modes) and ext_emconf.php is no longer used for that purpose, so EXT:cy_content_statistics/... path lookups fail. The flexform data structure is never found, TcaFlexPrepare can’t set an identifier, and TcaFlexProcess throws an exception #1480765571.