[BUGFIX] TCA selectTree ajax must not calculate display conditions
Opening a record with a FormEngine field type='select' and renderType='selectTree' just renders boilerplate HTML that triggers an ajax request to fetch actual tree node data for each field. The server side ajax controller reduces the TCA to contain only the field the items should be calculated for to reduce parse times. In flex form context, if now that tree field has a FIELD display condition, the standard data group 'tcaDatabaseRecord' which calls 'all' providers fails, since it can't find a database value of the condition target. Solution is to create an own data provider group for this 'fetch tree data' ajax context: This group contains only providers needed by the 'TcaSelectTreeItems' provider and ignores everything else, most importantly the EvaluateDisplayConditions provider. Leaving out a series of other not needed data providers gives an additional performance improvement in this context. Resolves: #79657 Releases: master Change-Id: I29bdd659d5f5ee28f8ae017c47df0233abefd6f5 Reviewed-on: https://review.typo3.org/51574 Tested-by:TYPO3com <no-reply@typo3.com> Reviewed-by:
Stefan Neufeind <typo3.neufeind@speedpartner.de> Tested-by:
Stefan Neufeind <typo3.neufeind@speedpartner.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
Showing
- typo3/sysext/backend/Classes/Controller/FormSelectTreeAjaxController.php 2 additions, 2 deletions...ckend/Classes/Controller/FormSelectTreeAjaxController.php
- typo3/sysext/backend/Classes/Form/FormDataGroup/TcaSelectTreeAjaxFieldData.php 42 additions, 0 deletions...Classes/Form/FormDataGroup/TcaSelectTreeAjaxFieldData.php
- typo3/sysext/backend/Tests/Unit/Form/FormDataGroup/TcaSelectTreeAjaxFieldDataTest.php 101 additions, 0 deletions...nit/Form/FormDataGroup/TcaSelectTreeAjaxFieldDataTest.php
- typo3/sysext/core/Configuration/DefaultConfiguration.php 104 additions, 0 deletionstypo3/sysext/core/Configuration/DefaultConfiguration.php
Please register or sign in to comment