Globale Variablen & Objekte in Typo3
Autor: Ralf v.d.Mark
eingetragen: Mittwoch, 19. Mai 2010 um 10:43 Uhr (20/2010 Kalenderwoche)
geändert: Mittwoch, 15. November 2023 um 08:55 Uhr (46/2023 Kalenderwoche)
Keywords: Global Variable Objekt $GLOBALS tsfe page Session sprache language deutsch englisch
Kategorien: TYPO3,
Text:
In Typo3 (-Extensions) stehen viele globale Variablen und Objekte zur Verfügung.
Die Sprach-Werte (de, en etc.) bekommt man... (s. Quellcode "Language-Wert-/Objekt")
$GLOBALS['TSFE']
Die wohl am häufigsten benötigte globale Variable innerhalb Ihrer Typo3 Extension. Das Objekt ist nur im Frontend verfügbar und enthält die eigentliche Frontend Klasse.
Hier eine Liste der Variablen innerhalb von $GLOBALS:
Mit $GLOBALS['TSFE']->id erhalten Sie die uid des aktuellen Datensatzes.
Mit $GLOBALS['TSFE']->page erhalten Sie den kompletten Record der Tabelle pages der aktuellen Seite.
Mit $GLOBALS['TSFE']->loginUser können Sie überprüfen ob der Besucher der Seite angemeldet ist.
Mit Mit $GLOBALS['TSFE']->fe_user->user greifen Sie auf den Datensatz der Tabelle fe_users des aktuell angemeldeten Benutzers zu.
Mit $GLOBALS['TSFE']->fe_user->setKey können Sie session- oder userbasierende Daten in einer Session speichern und mit
$GLOBALS['TSFE']->fe_user->getKey können Sie die gespeicherten Sessiondaten wieder einlesen.
Mit $GLOBALS['TSFE']->sys_language_uid bzw.
__$GLOBALS['TSFE']->lang_ erhalten Sie die id bzw. die Sprache.
Mit $GLOBALS['TSFE']->tmpl->setup erhalten Sie ein Array der aktuellen TypoScript Konfiguration.
Mit $GLOBALS["TSFE"]->config erhalten Sie das komplette Typo3 Konfigurationsarray.
$GLOBALS['TYPO3_DB']
Ist eine Instanz der Klasse t3lib_db. Eine Auswahl der DB Methoden dieses globalen Objektes finden Sie hier.
$GLOBALS['TYPO3_LOADED_EXT']
Gibt Ihnen ein Array mit allen installierten Extensions. Mit Hilfe von t3lib_extMgm::isLoaded($key) können Sie dann noch überprüfen ob diese Extension ($key = ExtensionKey) auch geladen ist.
$GLOBALS['TYPO3_CONF_VARS']
Das komplette Typo3 Konfigurationarray. Das Konfigurationsarray können Sie im Installtool (bzw. in der localconf.php) einsehen und/oder ändern. Dort befindet sich die komplette Konfiguration (einschl. Plugins) Ihrer Site.
$GLOBALS['FILEMOUNTS']
Ein komplettes Array der Filemounts (Pfade) auf den Server.
$GLOBALS['WEBMOUNTS']
Analog zu Filemounts ein komplettes Array der uid's von Seiten die im Seitenbaum die für den aktuellen Backendbenutzer eingebunden werden sollen.
dieser Text wurde 2010 geklaut von:
http://www.webspace-now.de/forum/beitraege/eigenetypo3extensions...
- Danke!
Quellcode:
//Language-Wert in TYOP3 (de/en)
$language = $GLOBALS['TSFE']->config['config']['language'];
oder so:
//Language-Objekt in TYOP3 (de/en):
$site = $GLOBALS['TYPO3_REQUEST']->getAttribute('site');
$configurationManager = GeneralUtility::makeInstance(ConfigurationManager::class);
$data = $configurationManager->getContentObject()->data;
$languageId = $data['sys_language_uid'];
$languageObj = $site->getLanguageById($languageId);
$languageTwoLetterIsoCode = $languageObj->getTwoLetterIsoCode();
//dump($languageTwoLetterIsoCode);
if (!empty($GLOBALS['TSFE']->lang) && $GLOBALS['TSFE']->lang != 'default') {
//echo 'Typo3-Sprach-Variable: "'.$GLOBALS['TSFE']->lang.'"!';
define('MY_T3_LANGUAGE', strtolower(substr($GLOBALS['TSFE']->lang, 0,
} elseif (!empty($GLOBALS['TSFE']->lang) && $GLOBALS['TSFE']->lang == 'default') {
//echo 'Typo3-Sprach-Variable ist "default" VORSICHT)!';
define('MY_T3_LANGUAGE', 'de');
} elseif (!empty($sprache)) {
//echo 'Die Sprache "'.$sprache.'" wird durch Ersatzvariable gesetzt!';
define('MY_T3_LANGUAGE', $sprache);
} else {
//echo 'Keine Sprache definiert, daher wird "de" gesetzt!';
define('MY_T3_LANGUAGE', 'de');
}