verfügbare Variablen in FE-Plugins
alle Daten des angemeldeten Users:
$GLOBALS['TSFE']->fe_user->user
alle Daten des angemeldeten BE-Users:
$GLOBALS['BE_USER']->user
die aktuelle Sprache:
$GLOBALS['TSFE']->sys_language_uid
$GLOBALS['TSFE']->lang
die aktuelle Seite (Datensatz aus pages, ggfls. mit overlay aus pages_language_overlay):
$GLOBALS['TSFE']->page
der aktuelle Seitentyp (typeNum)
$GLOBALS['TSFE']->type
SeitenID:
$GLOBALS['TSFE']->page['uid']
// oder
$GLOBALS['TSFE']->id
weitere Felder aus der TSFE-Variablen:
// Informationen über Browser-Client:
$GLOBALS['TSFE']->clientInfo['BROWSER']
$GLOBALS['TSFE']->clientInfo['VERSION']
$GLOBALS['TSFE']->clientInfo['SYSTEM']
$GLOBALS['TSFE']->clientInfo['FORMSTYLE']
// Informationen über das zuletzt bearbeitete Bild:
$GLOBALS['TSFE']->clientInfo['lastImageInfo'][0] // Breite
$GLOBALS['TSFE']->clientInfo['lastImageInfo'][1] // Höhe
$GLOBALS['TSFE']->clientInfo['lastImageInfo'][2] // Typ
$GLOBALS['TSFE']->clientInfo['lastImageInfo'][3] // Pfad und Bild
$GLOBALS['TSFE']->clientInfo['lastImageInfo']['origFile'] // Pfad und Name des Originalbildes
$GLOBALS['TSFE']->clientInfo['lastImageInfo']['origFile_mtime'] // Zeitstempel der Originaldatei
// Informationen über den zuletzt generierten Link:
$GLOBALS['TSFE']->cObj['lastTypoLinkUrl'] // zuletzt generierte URL
$GLOBALS['TSFE']->cObj['lastTypoLinkTarget'] // Target des zuletzt generierten Links
die Rootline zu einer Seite
$rootLineArray = $GLOBALS['TSFE']->sys_page->getRootLine($pageid);
das aktuelle content-Element:
$this->cObj->data
Das Feld 'Startingpoint' für Plugins:
$this->cObj->data['pages']
und in Verbindung mit dem 'Recursive'-Feld:
$this->pi_getPidList($this->cObj->data['pages'],$this->cObj->data['recursive'])
GET/POST-Variablen (- V4.3):
t3lib_div::GPVar($varname);
GET/POST-Variablen (V4.3 -):
t3lib_div::_GP($varname);
die speziellen GET/POST-Variablen für diese Extension:
$this->piVars['feldname']
initialisiert durch:
$this->pi_setPiVarDefaults();
das ganze kann dann auch gut in Formularen benutzt werden. Dazu muss das Formular folgende Feldnamen benutzen (hier mit Initialisierung):
$content.='<input type="text" name="'.$this->prefixId.'[feldname]" value="'.htmlspecialchars($this->piVars['feldname']).'">'."\n";
die aktuelle TypoScript-Konfiguration:
$GLOBALS['TSFE']->tmpl->setup
// ab dort alles als Array. z.b.
$GLOBALS['TSFE']->tmpl->setup['plugin.']['tx_myext_pi1.']['key']
die Zeit zu der eine Seite gerendert wird:
$GLOBALS['SIM_EXEC_TIME']
warum diese Variable und nicht die PHP-Funktion 'time()'?
1. mehrfach die Funktion 'time()' aufzurufen kostet mehr CPU-Zeit und
2. wenn mal mit simulierter Zeit gearbeitet wird (Admin-Panel) passt das wieder und es gibt keine Inkonsistentenzen zwischen den verschiedenen Seitenteilen.
--------------------------------------------------------------------------------
wichtige Dateien:
/typo3/tslib/class.tslib_pibase.php
class.tslib_content.php
lokales Basisverzeichnis des aktuellen Webservers
$this->htmlbasedir = substr(PATH_site,0,strlen(PATH_site)-1);