Navigation

 ·   Wiki Home
 ·   Wiki Hilfe (englisch)
 ·   Kategorien
 ·   Titel-Liste
 ·   Uncategorized Pages
 ·   Zufällige Seite
 ·   Datei hochladen
 ·   Hochgeladene Dateien
 ·   Letzte Änderungen
 ·   RSS
 ·   Atom
 ·   What Links Here

Aktive Mitglieder :

Suchen:

 

Seite erstellen oder suchen :

 

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:

Ein Anwendungsbeispiel wäre die Bildergalerie mit reinem TypoScript von Georg Ringer bei typo3blogger.de

Category:Typo3 -> Extensions -> Programmierung
Category:Typo3 -> TypoScript

Kategorien: