TYPO3 GLOBALS: TSFE: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
 
 
Zeile 2: Zeile 2:
  
 
IN einem Frontend Plugin greift man darauf z.B. so zu:
 
IN einem Frontend Plugin greift man darauf z.B. so zu:
$GLOBALS["TSFE"]->fe_user->setKey("ses","sessionval", $mySessionVal);
+
$GLOBALS["TSFE"]->fe_user->setKey("ses","sessionval", $mySessionVal);
  
 
Einige BEispiele was man damit alles machen kann aus einem Artikel von:
 
Einige BEispiele was man damit alles machen kann aus einem Artikel von:
 
http://www.lisardo.biz/wiki/GLOBALS-TSFE/ (Datum des Zugriffs: 4.3.2009
 
http://www.lisardo.biz/wiki/GLOBALS-TSFE/ (Datum des Zugriffs: 4.3.2009
  
GLOBALS TSFE
+
 
 +
== 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.
 
Ü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.
Zeile 13: Zeile 14:
 
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:
 
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()';
+
$GLOBALS['TSFE']->pSetup['bodyTagAdd'] = 'onload="load()" onunload="GUnload()';
  
 
Mit
 
Mit
  
$GLOBALS['TYPO3_DB']->debugOutput = true;
+
$GLOBALS['TYPO3_DB']->debugOutput = true;
echo t3lib_div::debug( $GLOBALS['TSFE']->pSetup );
+
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.
 
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.
Zeile 24: Zeile 25:
 
Mit
 
Mit
  
$GLOBALS['TYPO3_DB']->debugOutput = true;
+
$GLOBALS['TYPO3_DB']->debugOutput = true;
foreach ($GLOBALS['TSFE'] as $key => $value) {
+
foreach ($GLOBALS['TSFE'] as $key => $value) {
 
       $var[] = $key;
 
       $var[] = $key;
}
+
}
echo t3lib_div::debug( $var );
+
echo t3lib_div::debug( $var );
  
 
kann man sich die erste Ebene des $GLOBAL-Arrays ausgeben lassen:
 
kann man sich die erste Ebene des $GLOBAL-Arrays ausgeben lassen:
Zeile 147: Zeile 148:
 
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:
 
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;
+
$GLOBALS['TYPO3_DB']->debugOutput = true;
echo t3lib_div::debug( $GLOBALS['TSFE']->config );
+
echo t3lib_div::debug( $GLOBALS['TSFE']->config );
TSFE mit Typoscript auslesen
+
 
 +
 
 +
 
 +
== TSFE mit Typoscript auslesen ==
 +
 
  
 
Man kann über Typoscript alle Werte des TSFE auslesen, hier ein Beispiel mit lastImageInfo:
 
Man kann über Typoscript alle Werte des TSFE auslesen, hier ein Beispiel mit lastImageInfo:
 
+
<pre>
 
temp.bildinfo = COA
 
temp.bildinfo = COA
 
temp. bildinfo {
 
temp. bildinfo {
Zeile 184: Zeile 189:
 
   70.data = TSFE:lastImageInfo|origFile_mtime
 
   70.data = TSFE:lastImageInfo|origFile_mtime
 
}
 
}
 +
</pre>

Aktuelle Version vom 4. März 2009, 17:04 Uhr

Das Globale PHP Objekt TSFE steht für FE-Plugins zur Verfügung und enthält einige Informationen, Methoden und Objekte zur Steuerung des kompletten Frontend Renderings.

IN einem Frontend Plugin greift man darauf z.B. so zu:

$GLOBALS["TSFE"]->fe_user->setKey("ses","sessionval", $mySessionVal);

Einige BEispiele was man damit alles machen kann aus einem Artikel von: http://www.lisardo.biz/wiki/GLOBALS-TSFE/ (Datum des Zugriffs: 4.3.2009


GLOBALS TSFE[Bearbeiten]

Ü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:

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

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[Bearbeiten]

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
}