Actions
Bug #100087
closedPHP Warning: Array to string conversion in IconFactory.php
Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Backend API
Target version:
-
Start date:
2023-03-04
Due date:
% Done:
0%
Estimated time:
TYPO3 Version:
12
PHP Version:
8.1
Tags:
Complexity:
Is Regression:
Sprint Focus:
Description
When I open the list module with records of tt_board, then I get this PHP warning.
(1/1) #1476107295 TYPO3\CMS\Core\Error\Exception PHP Warning: Array to string conversion in /home/www/path/typo3_src-12.1.3/typo3/sysext/core/Classes/Imaging/IconFactory.php line 158 in /home/www/path/typo3_src-12.1.3/typo3/sysext/core/Classes/Error/ErrorHandler.php line 138 } $message = self::ERROR_LEVEL_LABELS[$errorLevel] . ': ' . $errorMessage . ' in ' . $errorFile . ' line ' . $errorLine; if ($errorLevel & $this->exceptionalErrors) { throw new Exception($message, 1476107295); } $message = $this->getFormattedLogMessage($message); at TYPO3\CMS\Core\Error\ErrorHandler->handleError() at implode() in /home/www/path/typo3_src-12.1.3/typo3/sysext/core/Classes/Imaging/IconFactory.php line 158 // even if not properly documented the value of the typeicon_column in a record could be // an array (multiselect) in typeicon_classes a key could consist of a comma-separated string "foo,bar" // but mostly it should be only one entry in that array if (is_array($row[$column])) { $recordType[1] = implode(',', $row[$column]); } else { $recordType[1] = $row[$column]; } } else { at TYPO3\CMS\Core\Imaging\IconFactory->mapRecordTypeToIconIdentifier() in /home/www/path/typo3_src-12.1.3/typo3/sysext/core/Classes/Imaging/IconFactory.php line 125 * @return Icon */ public function getIconForRecord($table, array $row, $size = Icon::SIZE_MEDIUM) { $iconIdentifier = $this->mapRecordTypeToIconIdentifier($table, $row); $overlayIdentifier = $this->mapRecordTypeToOverlayIdentifier($table, $row); return $this->getIcon($iconIdentifier, $size, $overlayIdentifier); } at TYPO3\CMS\Core\Imaging\IconFactory->getIconForRecord() in /home/www/path/typo3_src-12.1.3/typo3/sysext/backend/Classes/Form/Container/OuterWrapContainer.php line 68 $recordPath = BackendUtility::getRecordPath($this->data['effectivePid'], $permissionsClause, 15); } $iconFactory = GeneralUtility::makeInstance(IconFactory::class); $icon = '<span title="' . htmlspecialchars($recordPath) . '">' . $iconFactory->getIconForRecord($table, $row, Icon::SIZE_SMALL)->render() . '</span>'; // @todo: Could this be done in a more clever way? Does it work at all? $tableTitle = $languageService->sL($this->data['processedTca']['ctrl']['title']); at TYPO3\CMS\Backend\Form\Container\OuterWrapContainer->render() in /home/www/path/typo3_src-12.1.3/typo3/sysext/backend/Classes/Controller/EditDocumentController.php line 1166 } } $formData['renderType'] = 'outerWrapContainer'; $formResult = $nodeFactory->create($formData)->render(); $html = $formResult['html']; $formResult['html'] = ''; at TYPO3\CMS\Backend\Controller\EditDocumentController->makeEditForm() in /home/www/path/typo3_src-12.1.3/typo3/sysext/backend/Classes/Controller/EditDocumentController.php line 975 if (is_array($this->editconf)) { $this->formResultCompiler = GeneralUtility::makeInstance(FormResultCompiler::class); // Creating the editing form, wrap it with buttons, document selector etc. $editForm = $this->makeEditForm($view
Actions