From 41ff2d0fb8710e82e7444e6fce2d3c42eacd5659 Mon Sep 17 00:00:00 2001 From: Susanne Moog <look@susi.dev> Date: Wed, 26 Feb 2020 17:22:01 +0100 Subject: [PATCH] [BUGFIX] Cleanup AssetCollector Optimize loop for rendering. Resolves: #90544 Releases: master Change-Id: I9775ac3e1d2f500f35c926dc3bfdc06df96c6b7c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63440 Tested-by: TYPO3com <noreply@typo3.com> Tested-by: Daniel Goerz <daniel.goerz@posteo.de> Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de> --- typo3/sysext/core/Classes/Page/AssetRenderer.php | 9 ++++----- typo3/sysext/core/Classes/Page/PageRenderer.php | 1 + 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/typo3/sysext/core/Classes/Page/AssetRenderer.php b/typo3/sysext/core/Classes/Page/AssetRenderer.php index 6f9717f59ff5..61efd7a22d84 100644 --- a/typo3/sysext/core/Classes/Page/AssetRenderer.php +++ b/typo3/sysext/core/Classes/Page/AssetRenderer.php @@ -75,13 +75,12 @@ class AssetRenderer { $results = []; foreach ($assets as $assetData) { + if (($assetData['options']['priority'] ?? false) !== $priority) { + continue; + } $attributes = $assetData['attributes']; $attributesString = count($attributes) ? ' ' . GeneralUtility::implodeAttributes($attributes, true) : ''; - $code = str_replace(['%attributes%', '%source%'], [$attributesString, $assetData['source']], $template); - $hasPriority = $assetData['options']['priority'] ?? false; - if ($hasPriority === $priority) { - $results[] = $code; - } + $results[] = str_replace(['%attributes%', '%source%'], [$attributesString, $assetData['source']], $template); } return implode(LF, $results); } diff --git a/typo3/sysext/core/Classes/Page/PageRenderer.php b/typo3/sysext/core/Classes/Page/PageRenderer.php index 58637e6c5a8c..dc6110724e87 100644 --- a/typo3/sysext/core/Classes/Page/PageRenderer.php +++ b/typo3/sysext/core/Classes/Page/PageRenderer.php @@ -1801,6 +1801,7 @@ class PageRenderer implements SingletonInterface $jsFiles .= $assetRenderer->renderJavaScript(true); $jsFooterFiles .= $assetRenderer->renderJavaScript(); $cssInline .= $assetRenderer->renderInlineStyleSheets(true); + // append inline CSS to footer (as there is no cssFooterInline) $jsFooterFiles .= $assetRenderer->renderInlineStyleSheets(); $cssLibs .= $assetRenderer->renderStyleSheets(true, $this->endingSlash); $cssFiles .= $assetRenderer->renderStyleSheets(false, $this->endingSlash); -- GitLab