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