Feature #61649
closedExtbase settings merging (TS + FlexForm) should respect ".override" and ".ifEmpty" in FlexForms
0%
Description
I was just trying around how one could make a "default" TypoScript configuration for an Extbase-Plugin and being able to easily override settings from FlexForm.
One example:
we have the plugin in TypoScript:
- setting the "global" storagePid as default
tx_testpluginpi1 {
persistence {
storagePid = {$plugin.testpluginpi1.persistence.storagePid}
}
}
In FlexForm we could use something like this:
<persistence.storagePid.ifEmpty>
<TCEforms>
<label>StoragePid</label>
<config>
<type>group</type>
<internal_type>db</internal_type>
<allowed>pages</allowed>
<size>1</size>
<maxitems>1</maxitems>
<minitems>0</minitems>
<show_thumbs>1</show_thumbs>
<wizards>
<suggest>
<type>suggest</type>
</suggest>
</wizards>
</config>
</TCEforms>
</persistence.storagePid.ifEmpty>
Usually one would use the key-name "persistence.storagePid" - which will definitely will override the TypoScript setting even if empty/unset!
Currently the FlexForm code above works fine - but is ALWAYS overriding the TypoScript setting "persistence.storagePid". But it works - which indicates, that the stdWrap seems to be already present there!
I think there's somewhere missing the "current" value set in PHP for the processing of the FlexForm values.
The solution mentioned above appending ".ifEmpty" is compliant as one knows this usage from TypoScript which makes this solution very handy!
Is there any chance to change this? If I'll get a hint where to find the right place I'll make a fix/patch for it, too.