typo3/sysext/core/Classes/Site/Entity/Site.php | 2 +- .../frontend/Classes/ContentObject/ContentObjectRenderer.php | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/typo3/sysext/core/Classes/Site/Entity/Site.php b/typo3/sysext/core/Classes/Site/Entity/Site.php index ce2c18d958..b6d516e801 100644 --- a/typo3/sysext/core/Classes/Site/Entity/Site.php +++ b/typo3/sysext/core/Classes/Site/Entity/Site.php @@ -149,7 +149,7 @@ class Site implements SiteInterface * @param array|null $baseVariants * @return string */ - protected function resolveBaseWithVariants(string $baseUrl, ?array $baseVariants): string + public function resolveBaseWithVariants(string $baseUrl, ?array $baseVariants): string { if (!empty($baseVariants)) { $expressionLanguageResolver = GeneralUtility::makeInstance( diff --git a/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php b/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php index 7b92e5d726..af1dc919aa 100644 --- a/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php +++ b/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php @@ -19,6 +19,7 @@ use Doctrine\DBAL\Driver\Statement; use Psr\Container\ContainerInterface; use Psr\Log\LoggerAwareInterface; use Psr\Log\LoggerAwareTrait; +use Symfony\Component\ExpressionLanguage\SyntaxError; use Symfony\Component\Mime\NamedAddress; use TYPO3\CMS\Core\Cache\CacheManager; use TYPO3\CMS\Core\Context\Context; @@ -32,6 +33,7 @@ use TYPO3\CMS\Core\Database\Query\QueryHelper; use TYPO3\CMS\Core\Database\Query\Restriction\DeletedRestriction; use TYPO3\CMS\Core\Database\Query\Restriction\FrontendRestrictionContainer; use TYPO3\CMS\Core\Domain\Repository\PageRepository; +use TYPO3\CMS\Core\ExpressionLanguage\Resolver; use TYPO3\CMS\Core\Html\HtmlParser; use TYPO3\CMS\Core\Imaging\ImageManipulation\Area; use TYPO3\CMS\Core\Imaging\ImageManipulation\CropVariantCollection; @@ -4714,6 +4716,12 @@ class ContentObjectRenderer implements LoggerAwareInterface } else { try { $retVal = ArrayUtility::getValueByPath($site->getConfiguration(), $key, '.'); + if ($key === 'base') { + $retVal = $site->resolveBaseWithVariants( + $site->getBase(), + $site->getConfiguration()['baseVariants'] ?? null + ); + } } catch (MissingArrayPathException $exception) { $this->logger->warning(sprintf('getData() with "%s" failed', $key), ['exception' => $exception]); }