Feature #89852

remove single fields from showitems in TCA

Added by Bernd Wilke 12 months ago. Updated 10 days ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
Backend API
Start date:
2019-12-05
Due date:
% Done:

0%

Estimated time:
PHP Version:
7.2
Tags:
Complexity:
Sprint Focus:

Description

TYPO3 has the function TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes() to add or replace one or more fields to the BE form of a record.

How can we remove fields?
(replacing by '' does not work)

Explanation:
Its about hiding some fields in tt_content for some CTypes only.
e.g. fields 'pages' and 'recursive' for plugins (CType = 'list')

In the past we did it by overwriting the complete value. But with the upgrade from 6.2LTS to 8LTS we run into problems as the default labels have changed (pathes to the language files) and so some labels become lost in the BE, which was noticed very late.
Now I want a clean way to remove single fields so that the definition of the remaining fields stays clean with the default values from core (or other extensions).

Other extensions which add their own fields also are a problem if the value is set with a static string: these fields are also removed.

#1

Updated by Bastian Stargazer 10 days ago

+1 upvote for this feature

Current usecase: we want to extend the fe_users table, having an organization select-field as relation to another table instead of a "company" text-input field. Adding the organization as new TCA field works great, but removing the not-used "company" input is complicated (because of overwriting the huge showitem string).

Dirty workaround:

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('fe_users', '--palette--;;empty', '', 'replace:company');

Also available in: Atom PDF