From f348b2054e214053c0539ca440aa63bf4c530619 Mon Sep 17 00:00:00 2001 From: Stefan Froemken <froemken@gmail.com> Date: Mon, 20 Jan 2020 16:23:09 +0100 Subject: [PATCH] [BUGFIX] Allow CSH details for extbase based FlexForms In case of extbase many FlexForm fields are called settings.*. As "settings" is part of the field it should not be removed as extra identifier. Resolves: #80295 Releases: master,9.5 Change-Id: I206f28cfc360cb526f488b2fb016139246c2cad8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63003 Tested-by: TYPO3com <noreply@typo3.com> Tested-by: Benni Mack <benni@typo3.org> Tested-by: Georg Ringer <georg.ringer@gmail.com> Reviewed-by: Benni Mack <benni@typo3.org> Reviewed-by: Georg Ringer <georg.ringer@gmail.com> --- .../Classes/Controller/HelpController.php | 21 ------------------- 1 file changed, 21 deletions(-) diff --git a/typo3/sysext/backend/Classes/Controller/HelpController.php b/typo3/sysext/backend/Classes/Controller/HelpController.php index c044ea2fe673..a7027755fd9c 100644 --- a/typo3/sysext/backend/Classes/Controller/HelpController.php +++ b/typo3/sysext/backend/Classes/Controller/HelpController.php @@ -148,27 +148,6 @@ class HelpController $field = $request->getQueryParams()['field'] ?? $request->getParsedBody()['field'] ?? '*'; $mainKey = $table; - $identifierParts = GeneralUtility::trimExplode('.', $field); - // The field is the second one - if (count($identifierParts) > 1) { - array_shift($field); - // There's at least one extra part - $extraIdentifierInformation = []; - $extraIdentifierInformation[] = array_shift($identifierParts); - // If the ds_pointerField contains a comma, it means the choice of FlexForm DS - // is determined by 2 parameters. In this case we have an extra identifier part - if (strpos($GLOBALS['TCA'][$table]['columns'][$field]['config']['ds_pointerField'], ',') !== false) { - $extraIdentifierInformation[] = array_shift($identifierParts); - } - // The remaining parts make up the FlexForm field name itself (reassembled with dots) - $flexFormField = implode('.', $identifierParts); - // Assemble a different main key and switch field to use FlexForm field name - $mainKey .= '.' . $field; - foreach ($extraIdentifierInformation as $extraKey) { - $mainKey .= '.' . $extraKey; - } - $field = $flexFormField; - } $this->view->assignMultiple([ 'table' => $table, -- GitLab