Benutzer-Werkzeuge

Webseiten-Werkzeuge


typo3:about:tlo

Top Level Objects

Top Level Objects werden im Setup-Feld verwendet. Sie beinhalten die einzelnen cObjects und Einstellungen der Website.


CONFIG

In config werden die generellen Einstellungen der Website vorgenommen: Sprache, Doctype, Seitenindexierung und vieles mehr. Auch das Admin-Panel und das Caching können hier (de)aktiviert werden.


CONSTANTS

Die Konstanten im Setup-Feld können in Inhaltselementen verwendet werden. Voraussetzung ist, dass an einer Stelle parseFunc mit constants=1 konfiguriert wurde (in css_styled_content enthalten). Die Schreibweise der Konstanten ist Case-Sensitive.

In den Inhaltselementen werden die gesetzten Konstanten mit je drei Rauten umschlossen - wie bei Markern und Subparts.

constants.TheBoss = Bruce Springsteen
 
# Auslesen im Inhaltselement: Jetzt Karten sichern für ###TheBoss###.

Nicht zu verwechseln mit dem Feld Constants oberhalb des Setup-Feldes. Die dort angelegten Konstanten sind nur im Setup-Feld für TypoScript verwendbar.


PAGE

page beinhaltet alle Objekte, die im Frontend ausgegeben werden. Angefangen bei Header-Daten wie CSS und JavaScript, Meta-Tags, bis zu den eigentlichen Inhalten, den cObjects.

In einem TypoScript-Template können mehrere PAGE-Objekte definiert sein, z.B. für die normale Browseransicht, eine Printversion und den RSS-Feed. Diese PAGE-Objekte müssen sich aber im Seitentyp (typeNum) unterscheiden. Die Ausgabe wird dann über den GET-Parameter &type= gesteuert.

Wenn der Seitentyp nicht definiert ist, gilt immer der Standard 0 als gesetzt. Falls bei zwei oder mehr PAGE-Objekten der Seitentyp fehlt, würden die jeweiligen Definitionen alle derselben Ausgabe zugeordnet: Werte würden ggf. überschrieben und Objekte ergänzt.

Die Namen der PAGE-Objekte sind frei wählbar. Es ist aber üblich, für die normale Ausgabe page zu verwenden.

page = PAGE
page {
  # typeNum = 0
  [...]
}
 
print = PAGE
print {
  typeNum = 1
  [...]
}

plugin

Installierte Extensions liefern Eigenschaften und Werte mit den Static Templates aus. Diese werden unterhalb von plugin, folgend vom Namen der Extension, abgelegt und können vom Anwender angepasst werden.

plugin.tx_felogin_pi1.showLogoutFormAfterLogin = 0

includeLibs

Mit includeLibs können externe PHP-Dateien eingebunden werden, dessen Funktionen dann in TypoScript verfügbar sind. Existiert auch als Eigenschaft von page; bei identischen Objektnamen hat letztere Vorrang.

Im Beispiel wird kein eigenes Skript verwendet, sondern eins aus der Extension tt_news:

# Einbindung der PHP-Datei mit den angegebenen Klassen.
# 'EXT:' gibt an, dass sich die Erweiterung in einem der Extension-Ordner typo3/sysext/, typo3/ext/ oder typo3conf/ext/ befindet.
includeLibs.ts_news = EXT:tt_news/pi/class.tx_ttnews.php
# Der Name 'ts_news' könnte beliebig verändert werden, also z.B. auch:
includeLibs.1 = EXT:tt_news/pi/class.tx_ttnews.php 
 
page.10 = USER
# Aus der PHP-Klasse 'tx_ttnews' wird die Funktion 'main_news' aufgerufen.
page.10.userFunc = tx_ttnews->main_news

lib

Mit lib lassen sich TypoScript-Elemente anlegen, die von anderen Objekten kopiert und referenziert werden können. Bei einer Kopie (Operator <) wird der aktuelle Stand des Objekts eingefügt. Eine Referenz (Operator =<) ermöglicht es, nachträgliche Änderungen des Ursprungsobjekts zu übernehmen.

Im Beispiel wird beim Objekt lib.helloworld nach page der Wrap verändert. Durch die Referenzierung unter page.10 wird die Änderung dort übernommen. page.20 ist lediglich eine Kopie; hier wird das Objekt so übernommen, wie es zum Zeitpunkt des Parsens definiert war.

lib.helloworld = TEXT
lib.helloworld {
	value = Hello world!
	wrap = <p>|</p>
}
 
page = PAGE
page {
	10 =< lib.helloworld
 
	20 < lib.helloworld
}
 
lib.helloworld.wrap = <h1>|</h1>
 
Ausgabe: <h1>Hello world!</h1><p>Hello world!</p>

styles, temp

Diese beiden TLO werden für temporär benötigte TypoScript-Elemente verwendet. Nach dem Parsen werden sie nicht zusammen mit dem Template im Cache gespeichert, daher können sie nicht referenziert werden. Auch im TypoScript Object Browser sind sie nicht zu finden.

Im folgenden Beispiel versucht das cObj 10, ein temporäres Objekt zu referenzieren, was nicht möglich ist. Es wird in diesem Fall auch keine Kopie erzeugt! Daher wird nur das cObj 20 ausgegeben.

temp.helloworld = TEXT
temp.helloworld {
	value = Hello world!
	wrap = <p>|</p>
}
 
page = PAGE
page {
	10 =< temp.helloworld
 
	20 < temp.helloworld
}
 
temp.helloworld.wrap = <h1>|</h1>
 
# Ausgabe: <p>Hello world!</p>
typo3/about/tlo.txt · Zuletzt geändert: 2015/12/03 19:32 von 127.0.0.1