diff --git a/Classes/Form/FormDefinitionDecorator.php b/Classes/Form/FormDefinitionDecorator.php index 4f4f7d9..2b5a224 100644 --- a/Classes/Form/FormDefinitionDecorator.php +++ b/Classes/Form/FormDefinitionDecorator.php @@ -77,12 +77,16 @@ private function setCheckboxLinks(array &$element): void $element['type'] === 'Checkbox' && isset($element['properties']['links']) ) { - foreach ($element['properties']['links'] as $pageUid => $label) { + $links = array_map(function ($pageUid, $label) { $link = $this->cObj->createLink($label, ['parameter' => $pageUid]); - if ($link instanceof LinkResult) { - $element['label'] = sprintf($element['label'], $link->getHtml()); - } + return $link instanceof LinkResult ? $link->getHtml() : null; + }, array_keys($element['properties']['links']), $element['properties']['links']); + + $element['label'] = sprintf($element['label'], ...$links); + if (isset($element['properties']['elementDescription'])) { + $element['properties']['elementDescription'] = sprintf($element['properties']['elementDescription'], ...$links); } + unset($element['properties']['links']); } }