Kurze Typo3-Dokumentation |
|
Die alte Seite Typo3Lösungen/FürTypoScript wird bald verschwinden (der kurze Seitentitel sieht als URL einfach besser aus) --DanielBrüßler
Die Beispiele hier richten sich eher an Typo-Script-Newbees. Es sind grundsätzlich selbst getestete Beispiele!
Inhaltsverzeichnis
- Browsercheck - ob Internet Explorer, Netscape
- Datum in deutsch einfügen - per DesignTemplate
- Forum - Als Absender automatisch den User-Namen verwenden
- Suche (standard oder indexed_search)
- Sprache - Einstellung des Users anzeigen
- Für mehr Überblick - COBJ_ARRAY
- Für mehr Überblick - TypoScript als eigene Datei
- TEXT und HTML
- Navigation: check welche Ebene gerade aktiv ist
- Navigations-Menü : Einzelne Seiten NICHT auflisten
- Muster - Muster
- Muster - Muster
Browsercheck - ob Internet Explorer, Netscape
Beschreibung: Bedingung soll über die eckigen Klammern geprüft werden.
Das Code-Schnipsel:
#- wenn Netscape ("browser" darf nicht groß geschrieben sein!, Leerzeichen sind egal) [browser = netscape] page.60 = TEXT page.60.value = Netscape [global]
Datum in deutsch einfügen - per DesignTemplate
Beschreibung: Fügt das aktuelle Datum in deutscher Sprache ein. Und zwar über eine Designvorlage (="Design-Template"). Allerdings kann config.locale_all nur verwendet werden, wenn man etwas umstellt siehe hier. (Anmerkung: Umstellung nur notwendig bei Typo3 Version bis einschl. 3.5.0 und Verwendung von PHP Version 4.3.x. In der Version 3.6.0 wurden die Änderungen bereits berücksichtigt)
Das Code-Schnipsel:
# -Defaultsprache auf Deutsch stellen # NICHT nötig, wenn Extension "ts_language_de" installiert ist ! config.sys_language_uid = 0 config.language = de config.locale_all = de_DE # -Text anlegen temp.datum = TEXT temp.datum.data = date: U temp.datum.strftime = %A, %e. %B %Y # fuege das Datum an der richtigen Stelle im Template ein page = PAGE page { typeNum = 0 20 = TEMPLATE 20.template = FILE 20.template.file = fileadmin/designvorlage.html 20.workOnSubpart = DOKUMENT 20.marks.INHALT < styles.content.get 20.marks.DATUM < temp.datum }
Ein passendes Design-Template wäre:
<!-- ###DOKUMENT### begin --> ###INHALT###<br> <i>###DATUM###</i> <!-- ###DOKUMENT### begin -->
Autor: DanielBrüßler
Forum - Als Absender automatisch den User-Namen verwenden
http://www.typo3.net/viewtopic.php?t=2701&highlight=mailform
Suche (standard oder indexed_search)
Sprache - Einstellung des Users anzeigen
Das Code-Schnipsel:
page.50 = TEXT page.50.data = getenv : HTTP_ACCEPT_LANGUAGE
Autor: DanielBrüßler
Für mehr Überblick - COBJ_ARRAY
Beschreibung: Gerade bei besonders dynamischen Seiten wird der Typo-Script-Code sehr lang - und dann ist das Auslagern praktisch um den Überblick nicht zu verlieren
Das Code-Schnipsel:
temp.ausgelagert = COBJ_ARRAY temp.ausgelagert { wrap = | 10 = TEXT 10.value = Info 1 20 = TEXT 20.value = Info 2 } page.60 < temp.ausgelagert
Autor: DanielBrüßler
Für mehr Überblick - TypoScript als eigene Datei
Beschreibung: Auslagern hilft doppelt: Besserer Überblick und höhere Chance auf Wiederverwendbarkeit. Beispiel für die Site "financescout".
Soweit möglich gleich an den Anfang der Seite stellen. Nur aufpassen, dass die ".typeNum=0" - Angabe vorher gesetzt ist.
Am sinnvollsten ist es, diese ausgelagerten Komponenten als COBJ_ARRAY aufzubauen, denn dann kann diese im Haupt-Template einfach über (zum Beispiel) page.80 < meineKomponente eingebunden werden
Das Code-Schnipsel:
<INCLUDE_TYPOSCRIPT: source="FILE: fileadmin/media/scripts/typoscript_fin.txt">
Autor: DanielBrüßler
TEXT und HTML
Beschreibung: Anzeigen von einfachen Texten. Ein paar Basics für den Anfang.
Das Code-Schnipsel:
#- OK: Text. Siehe Doku ( TSref - 5.0.1 - stdWrap ) page.720 = TEXT page.720 { value = Der Inhalt } #- OK: Text mit Wrap page.720 = TEXT page.720 { value = Der Inhalt wrap = <b> | </b> } #- OK: Text in Großbuchstaben page.720 = TEXT page.720 { value = Der Inhalt value.case = upper }
Autor: DanielBrüßler
Navigation: check welche Ebene gerade aktiv ist
Beschreibung: Manche Dinge sollen nur in einer bestimmten Ebene sichtbar sein. Dafür braucht es einen Vergleich.
Das Code-Schnipsel:
// mit eckigen Klammern: [treeLevel = 0] page.20 = TEXT page.20.value = Nur auf root-Ebene zu sehen [end] // mit if: page.20 = TEXT page.20.value = Nur auf root-Ebene zu sehen page.20.if.value.data = level : 1 page.20.if.equals = 0 // aktuelle Ebene anzeigen - Zahl hinter level ist egal aber muss vorhanden sein ! page.30 = TEXT page.30.data = level : 1
Navigations-Menü : Einzelne Seiten NICHT auflisten
Beschreibung: Mit Hilfe von excludeUidList kann man einzelne Seiten aus dem Menü ausblenden, die aber trotzdem in der Sitemap vorhanden sind. Im Beispiel werden die Seiten 418 und 422 ausgeblendet.
Das Code-Schnipsel:
subparts.MENU.excludeUidList = 418, 422
Autor: sartre
( Quelle: http://www.typo3forum.de/viewtopic.php?t=838 )
Muster - Muster
Beschreibung: Mustertext
Das Code-Schnipsel:
Mustercode
Autor: Musterautor
Muster - Muster
Beschreibung: Mustertext
Das Code-Schnipsel:
Mustercode
Autor: Musterautor