diff --git a/Classes/Configuration.php b/Classes/Configuration.php index 026dbe7..3daf543 100644 --- a/Classes/Configuration.php +++ b/Classes/Configuration.php @@ -19,10 +19,10 @@ public function getFields(): array return $this->getSettings(); } - public function getField(string $tableName): string + public function getField(string $tableName): array { $settings = $this->getSettings(); - return $settings[$tableName] ?? ''; + return $settings[$tableName] ?? []; } /** @@ -38,7 +38,7 @@ protected function getSettings(): array if (count($split) !== 2) { continue; } - $settings[$split[0]] = $split[1]; + $settings[$split[0]][] = $split[1]; } return $settings; } catch (ExtensionConfigurationExtensionNotConfiguredException $e) { @@ -49,4 +49,4 @@ protected function getSettings(): array return []; } -} \ No newline at end of file +} diff --git a/Classes/Xclass/XclassedDatabaseRecordList.php b/Classes/Xclass/XclassedDatabaseRecordList.php index 0882c48..b1d632b 100644 --- a/Classes/Xclass/XclassedDatabaseRecordList.php +++ b/Classes/Xclass/XclassedDatabaseRecordList.php @@ -76,7 +76,14 @@ public function renderListRow($table, array $row, int $indent, array $translatio } if ($thumbnailField) { - $fullRow = isset($row[$thumbnailField]) ? $row : BackendUtility::getRecord($table, $row['uid']); + foreach($thumbnailFields as $thumbField){ + $thumbnailField = $thumbField; + $fullRow = isset($row[$thumbnailField]) ? $row : BackendUtility::getRecord($table, $row['uid']); + + if(!empty($fullRow[$thumbnailField])){ + break; + } + } $thumbCode = '
' . BackendUtility::thumbCode($fullRow, $table, $thumbnailField); $theData[$fCol] .= $thumbCode; @@ -158,8 +165,8 @@ static function ($attributeValue) { return $rowOutput; } - protected function getThumbnailField(string $tableName): string + protected function getThumbnailField(string $tableName): array { return GeneralUtility::makeInstance(Configuration::class)->getField($tableName); } -} \ No newline at end of file +}