Flexform: Using settings as displayCond within another sheet
With displayCond in flexforms all sheets are handled separately, which is at least not intuitive.
You have two sheets in your flexform, say 'Contents to display' (sDef) and 'Layout settings' (Layout).
In the first sheet you use a select list named <settings.typeOfContent> (and some other settings).
In the second sheet you want to have special options if <settings.typeOfContent> is 'LectureList'.
will work, since the settings of both sheets are neither integrated regardless of sheet nor the settings done in another sheet are available to the ElementConditionMatcher.
So you have to put all in one sheet.
A displayCond at sheet level is not really an option:
You would have to set up a new sheet for every dependent setting in your Layout sheet since it's not recommendable to duplicate the Layout-Sheet where Layout2 would have the same settings.xyz names like Layout1. (Extbase will read all settings from the flexform with no regard to which sheet is visible to the BeUser and which not.)
[!!!][TASK] Improve flex and TCA handling in FormEngine
The patch adapts a series of nasty form engine areas to more solid
code. The evaluate condition code is rewritten and works much better
in flex form scenarios. The suggest wizard and svg tree are much
more solid in flex forms. The group element is rewritten
towards a better readable and easier to refactor code, dropping
method dbFileIcons(). A bunch of issues is resolved along the way.
- TCA "default" now works in flex form section container elements
- The "displayCond" parser is now strict and throws exceptions on
invalid syntax and wrong referenced fields to help debugging
faulty display conditions
- TCA displayCond on flex fields can now be prefixed with the
sheet name and can reference field values from neighbor sheets
- TCA displayCond now works with flex section containers
- TCA flex section container now throw an exception if select or
group fields configure a MM relation - this is not supported
- TCA ctrl requestUpdate field is dropped, onChange=reload is now allowed
not only on flex form fields, but also on normal columns fields
- TCA tree now works as section container element and initializes
correctly on new records and new containers
- GroupElement rewrite to drop dbFileIcons()
- config option maxitems now optional for type=group and type=select
and defaults to "many items allowed"
- inline now works in "fancy" flex situations with "new" records
by handing the final dataStructureIdentifier around
- FormEngine no longer loads extJS
Tested-by: TYPO3com <firstname.lastname@example.org>
Reviewed-by: Benni Mack <email@example.com>
Tested-by: Benni Mack <firstname.lastname@example.org>
Reviewed-by: Anja Leichsenring <email@example.com>
Tested-by: Anja Leichsenring <firstname.lastname@example.org>