Feature #55976
openOverride TCA config with TSconfig - TCEFORM
Added by Jan Kiesewetter about 10 years ago. Updated over 2 years ago.
0%
Description
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.
Files
Bildschirmfoto 2021-11-10 um 22.51.36.png (80.6 KB) Bildschirmfoto 2021-11-10 um 22.51.36.png | Christoph Kratz, 2021-11-10 21:51 |
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?
Updated by Jan Kiesewetter about 10 years ago
As config.range is not in the key list:
http://docs.typo3.org/typo3cms/TSconfigReference/PageTsconfig/TCEform/Index.html
It's a feature.
I selected Tracker: Feature
Updated by Felix Kopp over 9 years ago
- Status changed from New to Needs Feedback
Updated by Alexander Opitz almost 9 years ago
- Category set to Backend API
- Status changed from Needs Feedback to New
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
:'(
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]"
https://docs.typo3.org/typo3cms/TSconfigReference/7.6/PageTsconfig/TCEform/
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!
Updated by Andreas Dörler about 7 years ago
Hi,
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
Andreas
Updated by Georg Ringer over 6 years ago
- Related to Bug #80265: Add max to the overrideable fields via tsconfig added
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: https://docs.typo3.org/typo3cms/TSconfigReference/PageTsconfig/TceForm.html#config
I change this to a feature request. Thank you.
Updated by Tilo Baller over 5 years ago
- Related to Feature #14669: set Fields required added
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 (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.
Updated by Benni Mack about 4 years ago
- Sprint Focus changed from PRC to Needs Decision
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:-)
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.
+1!