Environment¶
\nn\t3::Environment()¶
Alles, was man über die Umgebung der Anwendung wissen muss. Von Sprach-ID des Users, der baseUrl bis zu der Frage, welche Extensions am Start sind.
Overview of Methods¶
\nn\t3::Environment()->extLoaded($extName = ''
);¶
Prüfen, ob Extension geladen ist.
\nn\t3::Environment()->extLoaded('news');
\nn\t3::Environment()->extPath($extName = ''
);¶
absoluten Pfad zu einer Extension holen
z.B. /var/www/website/ext/nnsite/
\nn\t3::Environment()->extPath('extname');
@return string
\nn\t3::Environment()->extRelPath($extName = ''
);¶
relativen Pfad (vom aktuellen Script aus) zu einer Extension holen
z.B. ../typo3conf/ext/nnsite/
\nn\t3::Environment()->extRelPath('extname');
@return string
\nn\t3::Environment()->getBaseURL();¶
Gibt die baseUrl (config.baseURL
) zurück, inkl. http(s) Protokoll z.B. https://www.webseite.de/
\nn\t3::Environment()->getBaseURL();
@return string
\nn\t3::Environment()->getCookieDomain($loginType = 'FE'
);¶
Die Cookie-Domain holen z.B. www.webseite.de
\nn\t3::Environment()->getCookieDomain()
@return string
\nn\t3::Environment()->getCountries($lang = 'de', $key = 'cn_iso_2'
);¶
Alle im System verfügbaren Ländern holen
\nn\t3::Environment()->getCountries();
@return array
\nn\t3::Environment()->getCountryByIsocode($cn_iso_2 = NULL, $field = 'cn_iso_2'
);¶
Ein Land aus der Tabelle static_countries
anhand seines Ländercodes (z.B. DE
) holen
\nn\t3::Environment()->getCountryByIsocode( 'DE' );
\nn\t3::Environment()->getCountryByIsocode( 'DEU', 'cn_iso_3' );
@return array
\nn\t3::Environment()->getDefaultLanguage($returnKey = 'typo3Language'
);¶
Gibt die Standard-Sprache (Default Language) zurück. Bei TYPO3 ist das immer die Sprache mit der ID 0
.
Die Sprachen müssen in der YAML site configuration festgelegt sein.
// 'de'
\nn\t3::Environment()->getDefaultLanguage();
// 'de-DE'
\nn\t3::Environment()->getDefaultLanguage('hreflang');
// ['title'=>'German', 'typo3Language'=>'de', ...]
\nn\t3::Environment()->getDefaultLanguage( true );
@param string|boolean $returnKey
@return string|array
\nn\t3::Environment()->getDomain();¶
Die Domain holen z.B. www.webseite.de
\nn\t3::Environment()->getDomain();
@return string
\nn\t3::Environment()->getExtConf($ext = 'nnhelpers', $param = ''
);¶
Configuration aus ext_conf_template.txt
holen (Backend, Extension Configuration)
\nn\t3::Environment()->getExtConf('nnhelpers', 'varname');
Existiert auch als ViewHelper:
{nnt3:ts.extConf(path:'nnhelper')}
{nnt3:ts.extConf(path:'nnhelper.varname')}
{nnt3:ts.extConf(path:'nnhelper', key:'varname')}
@return mixed
\nn\t3::Environment()->getLanguage();¶
Die aktuelle Sprache (als Zahl) des Frontends holen.
\nn\t3::Environment()->getLanguage();
@return int
\nn\t3::Environment()->getLanguageFallbackChain($langUid = true
);¶
Gibt eine Liste der Sprachen zurück, die verwendet werden sollen, falls z.B. eine Seite oder ein Element nicht in der gewünschten Sprache existiert.
Wichtig: Die Fallback-Chain enthält an erster Stelle die aktuelle bzw. in $langUid übergebene Sprache.
// Einstellungen für aktuelle Sprache verwenden (s. Site-Config YAML)
\nn\t3::Environment()->getLanguageFallbackChain(); // --> z.B. [0] oder [1,0]
// Einstellungen für eine bestimmte Sprache holen
\nn\t3::Environment()->getLanguageFallbackChain( 1 );
// --> [1,0] - falls Fallback in Site-Config definiert wurde und der fallbackMode auf "fallback" steht
// --> [1] - falls es keinen Fallback gibt oder der fallbackMode auf "strict" steht
@param string|boolean $returnKey
@return string|array
\nn\t3::Environment()->getLanguageKey();¶
Die aktuelle Sprache (als Kürzel wie "de") im Frontend holen
\nn\t3::Environment()->getLanguageKey();
@return string
\nn\t3::Environment()->getLanguages($key = 'languageId', $value = NULL
);¶
Gibt eine Liste aller definierten Sprachen zurück. Die Sprachen müssen in der YAML site configuration festgelegt sein.
// [['title'=>'German', 'typo3Language'=>'de', ....], ['title'=>'English', 'typo3Language'=>'en', ...]]
\nn\t3::Environment()->getLanguages();
// ['de'=>['title'=>'German', 'typo3Language'=>'de'], 'en'=>['title'=>'English', 'typo3Language'=>'en', ...]]
\nn\t3::Environment()->getLanguages('iso-639-1');
// ['de'=>0, 'en'=>1]
\nn\t3::Environment()->getLanguages('typo3Language', 'languageId');
// [0=>'de', 1=>'en']
\nn\t3::Environment()->getLanguages('languageId', 'typo3Language');
@param string $key
@param string $value
@return string|array
\nn\t3::Environment()->getLocalConf($path = ''
);¶
Konfiguration aus der LocalConfiguration.php
holen
\nn\t3::Environment()->getLocalConf('FE.cookieName');
@return string
\nn\t3::Environment()->getPathSite();¶
Absoluten Pfad zum Typo3-Root-Verzeichnis holen. z.B. /var/www/website/
\nn\t3::Environment()->getPathSite()
früher: PATH_site
\nn\t3::Environment()->getPostMaxSize();¶
Maximale Upload-Größe für Dateien aus dem Frontend zurückgeben. Diese Angabe ist der Wert, der in der php.ini festgelegt wurde und ggf. über die .htaccess überschrieben wurde.
\nn\t3::Environment()->getPostMaxSize(); // z.B. '1048576' bei 1MB
@return integer
\nn\t3::Environment()->getPsr4Prefixes();¶
Liste der PSR4 Prefixes zurückgeben.
Das ist ein Array mit allen Ordnern, die beim autoloading / Bootstrap von TYPO3 nach Klassen
geparsed werden müssen. In einer TYPO3 Extension ist das per default der Ordern Classes
.
Die Liste wird von Composer/TYPO3 generiert.
Zurückgegeben wird ein array. Key ist Vendor\Namespace\
, Wert ist ein Array mit Pfaden zu den Ordnern,
die rekursiv nach Klassen durchsucht werden. Es spielt dabei keine Rolle, ob TYPO3 im composer
mode läuft oder nicht.
\nn\t3::Environment()->getPsr4Prefixes();
Beispiel für Rückgabe:
[
'Nng\Nnhelpers\' => ['/pfad/zu/composer/../../public/typo3conf/ext/nnhelpers/Classes', ...],
'Nng\Nnrestapi\' => ['/pfad/zu/composer/../../public/typo3conf/ext/nnrestapi/Classes', ...]
]
@return array
\nn\t3::Environment()->getRelPathSite();¶
Relativen Pfad zum Typo3-Root-Verzeichnis holen. z.B. ../
\nn\t3::Environment()->getRelPathSite()
@return string
\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();
@return \TYPO3\CMS\Core\Site\Entity\Site
\nn\t3::Environment()->getVarPath();¶
Absoluten Pfad zu dem /var
-Verzeichnis von Typo3 holen.
Dieses Verzeichnis speichert temporäre Cache-Dateien. Je nach Version von Typo3 und Installationstyp (Composer oder Non-Composer mode) ist dieses Verzeichnis an unterschiedlichen Orten zu finden.
// /full/path/to/typo3temp/var/
$path = \nn\t3::Environment()->getVarPath();
\nn\t3::Environment()->isBackend();¶
Prüfen, ob wir uns im Backend-Context befinden
\nn\t3::Environment()->isBackend();
@return bool
\nn\t3::Environment()->isFrontend();¶
Prüfen, ob wir uns im Frontend-Context befinden
\nn\t3::Environment()->isFrontend();
@return bool
\nn\t3::Environment()->isLocalhost();¶
Prüft, ob Installation auf lokalem Server läuft
\nn\t3::Environment()->isLocalhost()
@return boolean
\nn\t3::Environment()->t3Version();¶
Die Version von Typo3 holen, als Ganzzahl, z.b "8"
Alias zu \nn\t3::t3Version()
\nn\t3::Environment()->t3Version();
if (\nn\t3::t3Version() >= 8) {
// nur für >= Typo3 8 LTS
}
@return int