|| Kurze [[Typo3]]-Dokumentation || Typo3Lösungen || [[Typo3/FORUM]] || <!> || Demnächst wird nur noch '''die neue Seite''' Typo3TypoScript existieren (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!'' <<TableOfContents>> === 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 [[http://www.typo3.net/viewtopic.php?t=4278&highlight=setlocale|siehe hier]]. '''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) === Typo3Suche === 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 // 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