Feature #55976


Override TCA config with TSconfig - TCEFORM

Added by Jan Kiesewetter about 10 years ago. Updated over 2 years ago.

Must have
Backend API
Target version:
Start date:
Due date:
% Done:


Estimated time:
PHP Version:
Sprint Focus:
Needs Decision


Some of the TCA config can not be overridden with TSconfig, e.g.:

TCEFORM.tt_content.imagewidth.config.range.upper = 1600

will NOT work atm.


Related issues 2 (0 open2 closed)

Related to TYPO3 Core - Bug #80265: Add max to the overrideable fields via tsconfigClosedGeorg Ringer2017-03-13

Related to TYPO3 Core - Feature #14669: set Fields requiredClosed2005-04-14

Actions #1

Updated by Markus Klein about 10 years ago

Is this a feature or a bug. Should it be working like this? What do the docs say?

Actions #2

Updated by Jan Kiesewetter about 10 years ago

As config.range is not in the key list:

It's a feature.
I selected Tracker: Feature

Actions #3

Updated by Felix Kopp over 9 years ago

  • Status changed from New to Needs Feedback
Actions #4

Updated by Alexander Opitz almost 9 years ago

  • Category set to Backend API
  • Status changed from Needs Feedback to New
Actions #5

Updated by Susanne Moog over 8 years ago

  • Sprint Focus set to PRC
Actions #6

Updated by Luc Muller over 7 years ago

Hi All

I would like to put a +1 on this bug.

Having the problem in powermail, to make a field optional

TCEFORM.tx_powermail_domain_model_page.title.config.size = 100 <= works
TCEFORM.tx_powermail_domain_model_page.title.config.eval = trim <= do not work
TCEFORM.tx_powermail_domain_model_page.title.config.eval := removeFromList(required) <= do not work


Actions #7

Updated by Michael Christian over 7 years ago

  • Tracker changed from Feature to Bug
  • Subject changed from Override TCA config with TSconfig to Override TCA config with TSconfig - TCEFORM
  • Priority changed from Should have to Must have
  • TYPO3 Version set to 7
  • Is Regression set to No

I have the same bug with typo3 V7.6.14

The doc says this should be work - Look at: "[table name].[field].config.[key]"

TCEFORM.tt_content.header.config.max = 20 <= works
TCEFORM.tt_content.rowDescription.config.rows = 10 <= works
TCEFORM.tt_content.rowDescription.config.eval = required <= do not work
TCEFORM.tt_content.header_link.config.max = 10 <= works = Hello :-) World! <= do not work = width=200,height=200,status=0,menubar=0,scrollbars=1 <= do not work

Could someone fix this bug pleeeeeease!

Actions #8

Updated by Andreas Dörler about 7 years ago


I can confirm, that overriding eval does not work.

My usecase ist tx_news:
  • There is one sysfolder where only news of type internal url is allowed.
  • The url should be optional, therefore I've set the following Page TS config in this sysfolder:
    TCEFORM.tx_news_domain_model_news.internalurl.config.eval = trim

The workaround in comment 7 of #14669 could work, but it would be more comfortable to use Page TS config.

Kind regards

Actions #9

Updated by Georg Ringer over 6 years ago

  • Related to Bug #80265: Add max to the overrideable fields via tsconfig added
Actions #10

Updated by Riccardo De Contardi almost 6 years ago

  • Tracker changed from Bug to Feature

AFAIK the properties that can be overridden are listed here:

I change this to a feature request. Thank you.

Actions #11

Updated by Tilo Baller over 5 years ago

Actions #12

Updated by Tilo Baller over 5 years ago

As there doesn't seem to be any possibility to manipulate the allowOverrideMatrix after the getMainFieldsClass hook was removed with breaking change #63846 (, even not in current master (as of 18-11-08), we currently use Reflection as a workaround.

E.g. to allow overriding 'eval'-config on an input tca field with TCEFORM.pages.lastUpdated.config.eval = required the following code placed in an extensions ext_localconf.php does the job for us:

    $reflectionClassFormEngineUtility = new ReflectionClass(\TYPO3\CMS\Backend\Form\Utility\FormEngineUtility::class);
    $reflectionPropertyAllowOverrideMatrix = $reflectionClassFormEngineUtility->getProperty('allowOverrideMatrix');
    $reflectionPropertyAllowOverrideMatrix->setAccessible(true); // make protected property accessible
    $allowOverrideMatrix = $reflectionPropertyAllowOverrideMatrix->getValue();
    $allowOverrideMatrix['input'][] = 'eval';

See also the $allowOverrideMatrix property in typo3/sysext/backend/Classes/Form/Utility/FormEngineUtility.php to see which array key is necessary to manipulate depending on your field type.

Tested with TYPO3 7.6.31 and PHP 5.6.

Actions #13

Updated by Benni Mack about 4 years ago

  • Sprint Focus changed from PRC to Needs Decision
Actions #14

Updated by Mathias Bolt Lesniak almost 4 years ago

+1 from me on this. Would be very useful and increase flexibility. It would make it possible to make a filed required dependent on where in the page tree and which user is editing. I have a use case for that. O:-)

Actions #15

Updated by Christoph Kratz over 2 years ago

Works also in TYPO3 v11 with PHP 7.4. The function is especially important when you need different settings depending on the page type or location.



Also available in: Atom PDF