diff --git a/typo3/sysext/filelist/Classes/FileList.php b/typo3/sysext/filelist/Classes/FileList.php index b36c705878d5ef1eab2873d086eb1f4642a3ba5d..aacd49d887cef5b668e18c876070f5f694ddfa78 100644 --- a/typo3/sysext/filelist/Classes/FileList.php +++ b/typo3/sysext/filelist/Classes/FileList.php @@ -291,6 +291,7 @@ class FileList } if ($searchDemand !== null) { + $this->searchDemand = $searchDemand; if ($searchDemand->getSearchTerm() && $searchDemand->getSearchTerm() !== '') { $folders = []; // Add special "Path" field for the search result @@ -1429,6 +1430,9 @@ class FileList parse_str($uri->getQuery(), $queryParameters); unset($queryParameters['contentOnly']); $queryParameters = array_merge($queryParameters, ['currentPage' => $targetPage]); + if ($this->searchDemand) { + $queryParameters['searchTerm'] = $this->searchDemand->getSearchTerm() ?? ''; + } $uri = $uri->withQuery(HttpUtility::buildQueryString($queryParameters, '&')); return new PaginationLink( @@ -1556,6 +1560,9 @@ class FileList protected function sortResources(array $resources, string $sortField): array { $collator = new \Collator((string)($this->getLanguageService()->getLocale() ?? 'en')); + if ($sortField === 'size') { + $collator->setAttribute(\Collator::NUMERIC_COLLATION, \Collator::ON); + } uksort($resources, function (int $index1, int $index2) use ($sortField, $resources, $collator) { $resource1 = $resources[$index1]; $resource2 = $resources[$index2]; diff --git a/typo3/sysext/filelist/Resources/Private/Templates/File/List.html b/typo3/sysext/filelist/Resources/Private/Templates/File/List.html index 4372580730f1b79f0768508e6434e9eb3aa10e33..a8f4948480ccdcfdb18af7a306db38f0e0f69367 100644 --- a/typo3/sysext/filelist/Resources/Private/Templates/File/List.html +++ b/typo3/sysext/filelist/Resources/Private/Templates/File/List.html @@ -50,7 +50,7 @@ <label for="filelist-searchterm" class="visually-hidden"> <f:translate id="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.label.searchString"/> </label> - <input type="hidden" name="pointer" value="0" /> + <input type="hidden" name="currentPage" value="0" /> <button type="submit" class="btn btn-default" name="search"><core:icon identifier="actions-search" /></button> </div> </div>