Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to remove a field from `showitems` in TCA?

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.
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 extensiosn which add their own fields also are a problem if the value is set with a static string: these fields are also removed.

like image 250
Bernd Wilke πφ Avatar asked Oct 15 '22 08:10

Bernd Wilke πφ


1 Answers

Since there is indeed no way to insert an empty string, you could create an empty palette instead. This way you will still get a non empty string to insert, but it will not create any output in the form.

addToAllTCAtypes('table', '--palette--;;empty', '', 'replace:fieldname')

And you should make a feature request, to make at least the replacement with an empty string possible in upcoming versions of TYPO3.

like image 65
Jo Hasenau Avatar answered Oct 21 '22 08:10

Jo Hasenau