Benutzer-Werkzeuge

Webseiten-Werkzeuge


typo3:about:tlo

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
typo3:about:tlo [2014/02/20 22:32] – angelegt admintypo3:about:tlo [2015/12/03 19:32] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +====== 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 [[http://docs.typo3.org/typo3cms/TyposcriptReference/Setup/Config/Index.html|und vieles mehr]]. Auch das Admin-Panel und das Caching können hier (de)aktiviert werden.
 +
 +----
 +
 ===== CONSTANTS ===== ===== CONSTANTS =====
  
Zeile 15: Zeile 27:
 </WRAP> </WRAP>
  
 +----
 +
 +===== 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 [[typo3:about:cobject|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.
 +
 +<code typoscript>
 +page = PAGE
 +page {
 +  # typeNum = 0
 +  [...]
 +}
 +
 +print = PAGE
 +print {
 +  typeNum = 1
 +  [...]
 +}
 +</code>
 +
 +----
 +
 +===== 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.
 +
 +<code typoscript>
 +plugin.tx_felogin_pi1.showLogoutFormAfterLogin = 0
 +</code>
 +
 +----
 +
 +===== 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//:
 +<code typoscript>
 +# 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
 +</code>
 +
 +----
 +
 +===== 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.
 +
 +<code typoscript>
 +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>
 +</code>
 +
 +----
 +
 +===== 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.
 +
 +<code typoscript>
 +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>
 +
 +</code>
typo3/about/tlo.1392931949.txt.gz · Zuletzt geändert: (Externe Bearbeitung)