Environment::getSite() 

\nn\t3::Environment()->getSite($request = NULL); 

Das aktuelle Site Object holen. Über dieses Object kann z.B. ab TYPO3 9 auf die Konfiguration aus der site YAML-Datei zugegriffen werden.

Im Kontext einer MiddleWare ist evtl. die site noch nicht geparsed / geladen. In diesem Fall kann der $request aus der MiddleWare übergeben werden, um die Site zu ermitteln.

Siehe auch \nn\t3::Settings()->getSiteConfig(), um die site-Konfiguration auszulesen.

\nn\t3::Environment()->getSite();
\nn\t3::Environment()->getSite( $request );

\nn\t3::Environment()->getSite()->getConfiguration();
\nn\t3::Environment()->getSite()->getIdentifier();
Copied!

| @return \TYPO3\CMS\Core\Site\Entity\Site

Source Code 

public function getSite ( $request = null )
{
	if (!$request && !\TYPO3\CMS\Core\Core\Environment::isCli()) {
		$request = $this->getRequest();
	}
	// no request set? try getting site by the current pid
	if (!$request) {
		try {
			$pageUid = \nn\t3::Page()->getPid();
			$site = GeneralUtility::makeInstance(SiteFinder::class)->getSiteByPageId($pageUid);
			return $site;
		} catch ( \Exception $e ) {
			return null;
		}
	};
	// try getting site by baseURL
	$site = $request->getAttribute('site');
	if (!$site || is_a($site, \TYPO3\CMS\Core\Site\Entity\NullSite::class)) {
		$matcher = GeneralUtility::makeInstance( SiteMatcher::class );
		$routeResult = $matcher->matchRequest($request);
		$site = $routeResult->getSite();
	}
	// last resort: Just get the first site
	if (!$site || is_a($site, \TYPO3\CMS\Core\Site\Entity\NullSite::class)) {
		$siteFinder = GeneralUtility::makeInstance(SiteFinder::class);
		$sites = $siteFinder->getAllSites();
		$site = reset($sites) ?: null;
	}
	return $site;
}
Copied!