Bug #89902

TCEFORM does not override child tca of an element

Added by Cyril Janody almost 2 years ago. Updated 9 months ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
FormEngine aka TCEforms
Target version:
-
Start date:
2019-12-09
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
9
PHP Version:
7.2
Tags:
TsConfig TCA inline overrideChildTca
Complexity:
medium
Is Regression:
Sprint Focus:

Description

Hi,

Overriding child tca of an element via TsConfig is not working. Methods *PageTsConfig() in the TYPO3\CMS\Backend\Form\FormDataProvider\AbstractItemProvider do not validate the parent field configuration which is available in $result.

Here is a sample of the current code:

    protected function removeItemsByKeepItemsPageTsConfig(array $result, $fieldName, array $items)
    {
        $table = $result['tableName'];
        if (!isset($result['pageTsConfig']['TCEFORM.'][$table . '.'][$fieldName . '.']['keepItems'])
            || !is_string($result['pageTsConfig']['TCEFORM.'][$table . '.'][$fieldName . '.']['keepItems'])
        ) {
            return $items;
        }
    ...

Regards
CJ

#2

Updated by Stefan P 9 months ago

I am missing this as well. However, this seems to be on purpose (so no "bug"):

https://docs.typo3.org/m/typo3/reference-tsconfig/9.5/en-us/PageTsconfig/TceForm.html#config

overideChildTca is not in the allowed config keys to be altered by TSconfig (and probbaly the parser is missing the logic anyways).

Also available in: Atom PDF