TypoScript Conditions

Bei der Verwendung von Conditions gibt es eigentlich nur zwei Dinge die beachtet werden müssen:

1. Conditions dürfen nicht in geschweiften Klammern { } stehen.
Damit dürfen z.B. keine Conditions im Page Object (page { .....}) des Setups enthalten sein. Dies ist aber relativ einfach zu umgehen, indem man z.B. die Marker außerhalb des "page { ..." Bereiches überschreibt (siehe Beispiel 3).

2. Seitencaching beachten
Dies hat zwar nichts direkt mit der Funktion Conditions zu tun, nutzt man aber z.B. eine Zeitsteuerung, sollte man das Seitencaching entsprechend einstellen ;)

Nachfolgend ein paar Beispiele zur Nutzung von Conditions:

CSS Weiche mit Typoscript

# Typoscript Conditions | Beispiel 1
# Lädt ie6.css bei IE Browserversion 6 und niedriger
# Lädt bei allen anderen Browser stylesheet.css
#
[browser = msie] && [version = <7]   
    page.includeCSS {  
        file1 = fileadmin/CSS/ie6.css   
    }
[else]
    page.includeCSS {  
        file1 = fileadmin/CSS/stylesheet.css
    }
[end]

Markerersetzung abhängig von der Uhrzeit

# Typoscript Conditions | Beispiel 2
# von 23 - 6 Uhr wird der Standard Content angezeigt
# von 6 bis 23 Uhr wird der Inhalt von Seite pid=999 angezeigt
# Achtung: Seitencaching beachten
#
page.10.marks.MITTE_CONTENT = COA
page.10.marks.MITTE_CONTENT = CONTENT
page.10.marks.MITTE_CONTENT {     
    table = tt_content     
    select.orderBy = sorting     
    select.where = colPos = 0          
 }
[hour = 6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]
# Alternative Schreibweise: [hour =<6.00] && [hour= >23.00]
page.10.marks.MITTE_CONTENT = CONTENT
page.10.marks.MITTE_CONTENT {     
    table = tt_content     
    select.orderBy = sorting     
    select.where = colPos = 0     
    select.pidInList = 999     
}
[global]

Content in Abhängigkeit der Rootpage (Menuposition)

# Typoscript Conditions | Beispiel 3
# Der left_column wird die lib.contentLeft und
# die lib.contentLeftSpecial zugewiesen
#
left_column = COA
left_column {    
    10 < lib.contentLeft    
    20 < lib.contentLeftSpecial
    }

# lib.contentLeftSpecial wird mit dem Inhalt der page id=999# nur gefüllt, wenn page id = 100 oder subpage von 100 ist.

[PIDinRootline = 100]   
lib.specialContent = CONTENT   
lib.specialContent {   
     table = tt_content select {      
         pidInList = 999      
         orderBy = sorting      
         languageField = sys_language_uid    
        }
}
[end]
Empfehlenswerte Lektüre:

Don't make me think!

Web Usability auf unterhaltsame Art: Das Buch gibt einen tieferen Einblick in das Surfverhalten von Nutzern und liefert praktische Beispiele und jede Menge Tipps für die Usability Verbesserung von Webseiten. Keine trockene Fachliteratur sondern unterhaltsam geschrieben.

Weitere Artikel zu diesem Thema:

Kommentare

keine Kommentare vorhanden


Kommentar verfassen

Die Email Adresse wird nicht veröffentlicht.