Zeigen GLOBALS TSFE
Ü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;
echo t3lib_div::debug( $GLOBALS['TSFE']->pSetup );
kann man sich das gesamte Teilarray pSetup ausgeben lassen – darin ist die gesamte page-Konfiguration aus dem TypoScript-Setup enthalten. (Nicht das ganze $GLOBALS[‘TSFE’]-Array so ausgeben lassen – es ist viel zu groß … ) Wie oben zu sehen ist, kann man jede TypoScript-Anweisung, die man im Setup der Seite anwenden kann, auch über das $Globals[‘TSFE’]-Array aus PHP hinzufügen.
Mit
$GLOBALS['TYPO3_DB']->debugOutput = true;
foreach ($GLOBALS['TSFE'] as $key => $value) {
$var[] = $key;
}
echo t3lib_div::debug( $var );
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;
echo t3lib_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
Category:Typo3 -> Extensions -> Programmierung
Category:Typo3 -> TypoScript