Feature #55976
closedOverride TCA config with TSconfig - TCEFORM
Added by Jan Kiesewetter almost 11 years ago. Updated 4 months 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 almost 11 years ago
Is this a feature or a bug. Should it be working like this? What do the docs say?
Updated by Jan Kiesewetter almost 11 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 almost 10 years ago
- Status changed from New to Needs Feedback
Updated by Alexander Opitz over 9 years ago
- Category set to Backend API
- Status changed from Needs Feedback to New
Updated by Luc Muller about 8 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 almost 8 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 over 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 almost 7 years ago
- Related to Bug #80265: Add max to the overrideable fields via tsconfig added
Updated by Riccardo De Contardi over 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 about 6 years ago
- Related to Feature #14669: set Fields required added
Updated by Tilo Baller about 6 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 over 4 years ago
- Sprint Focus changed from PRC to Needs Decision
Updated by Mathias Bolt Lesniak over 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 about 3 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!
Updated by Sybille Peters 6 months ago
The link above to the list of things which can be overriden is broken.
You can find information in the TSconfig docs for TCEFORM config or in the source code FormEngineUtility::$formEngineUtility
Updated by Georg Ringer 4 months ago
- Status changed from New to Closed
hey!
currently we don't plan to allow more fields. you can use a custom formdataprovider or e.g. https://github.com/b13/pagetsconfig to achieve what you need.
therefore closing the issue