Story #69712: Further FormEngine development
group maxitems woes
The maxitems setting for TCA group fields is somehow unclear.
tca docu states there is a default of 1 if no maxitems is set. but this only seems to fire in case there is no mm relation (?).
for "csv" relations, the maxitems=1 is active. Current behavior is that if no maxitems is set in csv relation and default 1 kicks in, the formengine still allows selecting more than one element, but datahandler throws all of them away except the first one on saving. this is a bug in formengine validation and should be fixed.
Additionally, we should find out when, where and why the maxitem default kicks in and think about if that makes sense, or if a different default should be chosen consistently (0 for "no restriction, or 9999 or similar?). This implies thought about b/w compatibility and maybe a tca migration, then.
it might be a good idea to enrich ext:styleguide with additional scenarios to nail the current and the expected situation.
[!!!][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 <email@example.com>
Reviewed-by: Benni Mack <firstname.lastname@example.org>
Tested-by: Benni Mack <email@example.com>
Reviewed-by: Anja Leichsenring <firstname.lastname@example.org>
Tested-by: Anja Leichsenring <email@example.com>
#5 Updated by Alexander Opitz over 3 years ago
- Status changed from Needs Feedback to Closed
- Target version deleted (
No feedback within the last 90 days => closing this issue.
If you think that this is the wrong decision or experience this issue again, then please write to the mailing list typo3.teams.bugs with issue number and an explanation or open a new ticket and add a relation to this ticket number.
#7 Updated by Christian Kuhn over 3 years ago
- Status changed from Closed to New
I think this is still the case. at least the whole maxitem area in combination with the different renderTypes is a bit weird and could be simplified.
I re-opened the issues and set #69712 as parent. That should make it more obvious that this issue is still an area to improve / adapt TCA syntax, simplify and document in a better way.