Problem gelöst per Middleware (hier im Beispiel mit settings aus dem bootstrap_package:
EXT:extension/Classes/Middleware/BackendBrandingMiddleware.php
<?php
namespace Vendor\Extension\Middleware;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Psr\Http\Message\ResponseInterface;
use \TYPO3\CMS\Core\Site\SiteFinder;
use \TYPO3\CMS\Core\Utility\GeneralUtility;
class BackendBrandingMiddleware implements MiddlewareInterface
{
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$host = $request->getUri()->getHost();
$siteFinder = GeneralUtility::makeInstance(SiteFinder::class);
$sites = $siteFinder->getAllSites();
foreach ($sites as $site) {
if ($site->getBase()->getHost() == $host) {
$settings = $site->getSettings();
$logo = $settings->get('page.logo.file');
$color = $settings->get('plugin.bootstrap_package.settings.scss.primary') ;
$footNote = $site->getConfiguration()['websiteTitle'];
}
}
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['backend']['loginLogo'] = $logo;
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['backend']['loginHighlightColor'] = $color;
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['backend']['loginFootnote'] = $footNote;
return $handler->handle($request);
}
}
Das Ganze noch registrieren:
EXT:extension/Configuration/RequestMiddlewares.php
<?php
return [
'backend' => [
'vendor/extension/backend-branding-middleware' => [
'target' => \Vendor\Extension\Middleware\BackendBrandingMiddleware::class,
'before' => [
'typo3/cms-backend/backend-user-authenticator'
]
],
],
];