diff --git a/typo3/sysext/frontend/Classes/Resource/FileCollector.php b/typo3/sysext/frontend/Classes/Resource/FileCollector.php index 0e5667a6d7332810653de9a79f6432367b79a661..2e9dce97db19a0d97d7e7251e78fa00c07fc30d6 100644 --- a/typo3/sysext/frontend/Classes/Resource/FileCollector.php +++ b/typo3/sysext/frontend/Classes/Resource/FileCollector.php @@ -16,6 +16,7 @@ namespace TYPO3\CMS\Frontend\Resource; use Psr\Log\LoggerAwareInterface; use Psr\Log\LoggerAwareTrait; +use TYPO3\CMS\Core\LinkHandling\LinkService; use TYPO3\CMS\Core\Resource\Exception; use TYPO3\CMS\Core\Resource\FileCollectionRepository; use TYPO3\CMS\Core\Resource\FileInterface; @@ -181,7 +182,14 @@ class FileCollector implements \Countable, LoggerAwareInterface { if ($folderIdentifier) { try { - $folder = $this->getResourceFactory()->getFolderObjectFromCombinedIdentifier($folderIdentifier); + if (strpos($folderIdentifier, 't3://folder') === 0) { + // a t3://folder link to a folder in FAL + $linkService = GeneralUtility::makeInstance(LinkService::class); + $data = $linkService->resolveByStringRepresentation($folderIdentifier); + $folder = $data['folder']; + } else { + $folder = $this->getResourceFactory()->getFolderObjectFromCombinedIdentifier($folderIdentifier); + } if ($folder instanceof Folder) { $files = $folder->getFiles(0, 0, Folder::FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS, $recursive); $this->addFileObjects(array_values($files));