Override TCA config with TSconfig - TCEFORM
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.
#2 Updated by Jan Kiesewetter over 6 years ago
As config.range is not in the key list:
It's a feature.
I selected Tracker: Feature
#6 Updated by Luc Muller about 4 years ago
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
#7 Updated by Michael Christian almost 4 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
TCEFORM.tt_content.header_link.config.wizards.link.title = Hello :-) World! <= do not work
TCEFORM.tt_content.header_link.config.wizards.link.JSopenParams = width=200,height=200,status=0,menubar=0,scrollbars=1 <= do not work
Could someone fix this bug pleeeeeease!
#8 Updated by Andreas Dörler over 3 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.
#10 Updated by Riccardo De Contardi about 2 years ago
- Tracker changed from Bug to Feature
AFAIK the properties that can be overridden are listed here: https://docs.typo3.org/typo3cms/TSconfigReference/PageTsconfig/TceForm.html#config
I change this to a feature request. Thank you.
#12 Updated by Tilo Baller almost 2 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 (https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.5/Breaking-69568-FormEngine.html), 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'; $reflectionPropertyAllowOverrideMatrix->setValue($allowOverrideMatrix);
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.