TYPO3 - TSFE Objekt

Aus Wikizone
Wechseln zu: Navigation, Suche

Quelle: http://www.typo3-lisardo.de/home/blog-post/2010/08/30/globals-tsfe.html?/wiki/GLOBALS-TSFE/

02-2011

Über GLOBAL[‘TSFE’] kann man bei der Extension-Programmierung mehr oder weniger auf das gesamte TypoScript-Setup von Typo3 zugreifen. Man kann aktuelle Konfigurationen abfragen oder auch ändern, so dass sich die Ausgabe ins Frontend abhängig vom installierten Plugin auf jeder Seite ändern kann.

Zum Beispiel können damit zusätzliche JavaScript- oder CSS-Definitionen im Kopfbereich ausgegeben werden (siehe CSS und JavaScript im Kopfbereich ausgeben) oder der Bodytag erweitert werden. Folgende Zeile fügt z. B. auf jeder Seite, auf der das Plugin installiert wirde, dem Body-Tag einen onload-Befehl hinzu, wie er für Google-Maps benötigt wird:

$GLOBALS['TSFE']->pSetup['bodyTagAdd']='onload="load()" onunload="GUnload()'; Mit

$GLOBALS['TYPO3_DB']->debugOutput=true; echot3lib_div::debug($GLOBALS['TSFE']->pSetup); kann man sich die erste Ebene des $GLOBAL-Arrays ausgeben lassen:

0 id 1 type 2 idParts 3 cHash 4 no_cache 5 rootLine 6 page 7 contentPid 8 sys_page 9 jumpurl 10 pageNotFound 11 domainStartPage 12 pageAccessFailureHistory 13 MP 14 RDCT 15 page_cache_reg1 16 siteScript 17 fe_user 18 loginUser 19 gr_list 20 beUserLogin 21 workspacePreview 22 loginAllowedInBranch 23 ADMCMD_preview_BEUSER_uid 24 fePreview 25 showHiddenPage 26 showHiddenRecords 27 simUserGroup 28 TYPO3_CONF_VARS 29 TCAcachedExtras 30 tmpl 31 cacheTimeOutDefault 32 cacheContentFlag 33 cacheExpires 34 isClientCachable 35 all 36 sPre 37 pSetup 38 newHash 39 getMethodUrlIdToken 40 no_CacheBeforePageGen 41 tempContent 42 forceTemplateParsing 43 cHash_array 44 hash_base 45 pagesTSconfig 46 additionalHeaderData 47 additionalJavaScript 48 additionalCSS 49 JSeventFuncCalls 50 JSCode 51 JSImgCode 52 divSection 53 defaultBodyTag 54 debug 55 intTarget 56 extTarget 57 MP_defaults 58 spamProtectEmailAddresses 59 absRefPrefix 60 absRefPrefix_force 61 compensateFieldWidth 62 lockFilePath 63 ATagParams 64 sWordRegEx 65 sWordList 66 linkVars 67 excludeCHashVars 68 displayEditIcons 69 displayFieldEditIcons 70 sys_language_uid 71 sys_language_mode 72 sys_language_content 73 sys_language_contentOL 74 sys_language_isocode 75 applicationData 76 register 77 registerStack 78 cObjectDepthCounter 79 recordRegister 80 currentRecord 81 accessKey 82 imagesOnPage 83 lastImageInfo 84 uniqueCounter 85 uniqueString 86 indexedDocTitle 87 altPageTitle 88 pEncAllowedParamNames 89 baseUrl 90 anchorPrefix 91 cObj 92 content 93 clientInfo 94 scriptParseTime 95 TCAloaded 96 csConvObj 97 defaultCharSet 98 renderCharset 99 metaCharset 100 localeCharset 101 lang 102 langSplitIndex 103 labelsCharset 104 convCharsetToFrom 105 LL_labels_cache 106 LL_files_cache 107 config 108 no_cacheBeforePageGen 109 xhtmlDoctype 110 xhtmlVersion Viele der Einträge kommen bekannt vor und man kann sich denken, worum es dabei geht. Wenn man sich für eine Rubrik interessiert, kann man sie sich einzeln ausgeben lassen, z. B. das gesamte config-Setup:

$GLOBALS['TYPO3_DB']->debugOutput=true; echot3lib_div::debug($GLOBALS['TSFE']->config); TSFE mit Typoscript auslesen Man kann über Typoscript alle Werte des TSFE auslesen, hier ein Beispiel mit lastImageInfo:

temp.bildinfo=COA temp.bildinfo {

 10=IMAGE
 # Das Bild muss existieren!
 10.file=fileadmin/img/bild.jpg

 # Bildbreite
 20=TEXT
 20.data=TSFE:lastImageInfo|0

 # Höhe
 30=TEXT
 30.data=TSFE:lastImageInfo|1

 # Typ 
 40=TEXT
 40.data=TSFE:lastImageInfo|2

 # Pfad 
 50=TEXT
 50.data=TSFE:lastImageInfo|3

 # Pfad zum Originalbild 
 60=TEXT
 60.data=TSFE:lastImageInfo|origFile

 # Datum und Zeit des Uplaods 
 70=TEXT
 70.data=TSFE:lastImageInfo|origFile_mtime

} Weiterführende Links: Auslesen von Informationen des IMAGE Auslesen von Informationen aus dem typolink Objekt Auslesen von client Informationen Andere nützliche Informationen Ein Anwendungsbeispiel wäre die Bildergalerie mit reinem TypoScript von Georg Ringer bei typo3blogger.de

Beispiele

      $GLOBALS['TSFE']->setJS($this->extKey, 'alert("Mach was. ")');
      $GLOBALS['TSFE']->setCSS($this->extKey, 'p {padding:2em}');