Bug #102846
openError with pidList in suggestOptions for group field in FlexForms
0%
Description
When I add suggestOptions for a group field in a content flexform, the search returns no results.
The ajax request returns a warning:
PHP Warning: Undefined array key "" in vendor/typo3/cms-backend/Classes/Controller/Wizard/SuggestWizardController.php line 62
When I debug the code it turns out that the
$parsedBody = $request->getParsedBody();is null so that the data will never be evaluated as flexform
if (empty($dataStructureIdentifier)) {
is always true.
Updated by Stefan Terborg 4 months ago
- Subject changed from SuggestOptions for group field in FlexForms broken to Error with pidList in suggestOptions for group field in FlexForms
I´m sorry, it seems I looked at the wrong place. ParsedBody is not null and the suggest options work.
Instead there seems to be a problem with <pidList> causing the following error:
Argument #2 must be of type array, int given, in file vendor/typo3/cms-backend/Classes/Form/Wizard/SuggestWizardDefaultReceiver.php:115
Example code:
... <suggestOptions> <default> <pidList>33,41</pidList> </default> </suggestOptions> ...
Or maybe I'm missing some option for the usage with pidList.
Updated by Kai Strecker about 19 hours ago
- Complexity set to no-brainer
I have also just come across this bug.
As Stefan Terborg already pointed out, the cause is vendor/typo3/cms-backend/Classes/Form/Wizard/SuggestWizardDefaultReceiver.php:115, which is this line of code:
$this->allowedPages = array_unique(array_merge($this->allowedPages, ...$availablePageIds));
The bug here is that
$availablePageIds
is a one-dimensional array. Therefore, the use of ...
to pass the array values to array_merge
is incorrect. The fix is to simply remove ...
:$this->allowedPages = array_unique(array_merge($this->allowedPages, $availablePageIds));
After doing this patch, the suggest wizard worked fine in my TYPO3 instance.