Hallo, ich verwende folgendes Typoskript um meine Css-files je nach Layout-auswahl in den Seiteneigenschaften
einzubinden.
Es funktioniert im IE problemlos, nur scheint er nicht in die netscape-schleife zu gehen...
hier mein TS:
[browser = netscape]
[globalVar = TSFE:page|layout = 0]
page.includeCSS.file1 = {$css_ne_sel_1}
[global]
[globalVar = TSFE:page|layout = 1]
page.includeCSS.file1 = {$css_ne_sel_2}
[global]
[globalVar = TSFE:page|layout = 2]
page.includeCSS.file1 = {$css_ne_sel_3}
[global]
[globalVar = TSFE:page|layout = 3]
page.includeCSS.file1 = {$css_ne_sel_4}
[global]
[ELSE]
[globalVar = TSFE:page|layout = 0]
page.includeCSS {
file1 = {$css_sel_1}
}
[global]
[globalVar = TSFE:page|layout = 1]
page.includeCSS.file1 = {$css_sel_2}
[global]
[globalVar = TSFE:page|layout = 2]
page.includeCSS.file1 = {$css_sel_3}
[global]
[globalVar = TSFE:page|layout = 3]
page.includeCSS.file1 = {$css_sel_4}
[global]
[END]
Wie gesagt, beim Internetexplorer macht er alles richtig... bei netscape/firefox zeigt er die Styles aus der ELSE-Schleife
Kann ich denn schleifen in schleifen packen?
Hilfe... ich blicke nicht mehr durch
Du kannst eine AND Verknüpfung machen:
[browser = netscape] && [globalVar = TSFE:page|layout = 0]
blabla
[END]
[useragent = nescape] && [globalVar = TSFE:page|layout = 0]
page.includeCSS.file1 = {$css_ne_sel_1}
[END]
[useragent = netscape] && [globalVar = TSFE:page|layout = 1]
page.includeCSS.file1 = {$css_ne_sel_2}
[END]
[useragent = netscape] && [globalVar = TSFE:page|layout = 2]
page.includeCSS.file1 = {$css_ne_sel_3}
[END]
[useragent = netscape] && [globalVar = TSFE:page|layout = 3]
page.includeCSS.file1 = {$css_ne_sel_4}
[END]
[useragent = netscape] && [globalVar = TSFE:page|layout = 4]
page.includeCSS.file1 = {$css_ne_sel_5}
[END]
[useragent = netscape] && [globalVar = TSFE:page|layout = 5]
page.includeCSS.file1 = {$css_ne_sel_6}
[END]
[browser = msie] && [globalVar = TSFE:page|layout = 0]
page.includeCSS.file1 = {$css_sel_1}
[END]
[browser = msie] && [globalVar = TSFE:page|layout = 1]
page.includeCSS.file1 = {$css_sel_2}
[END]
[browser = msie] && [globalVar = TSFE:page|layout = 2]
page.includeCSS.file1 = {$css_sel_3}
[END]
[browser = msie] && [globalVar = TSFE:page|layout = 3]
page.includeCSS.file1 = {$css_sel_4}
[END]
[browser = msie] && [globalVar = TSFE:page|layout = 4]
page.includeCSS.file1 = {$css_sel_5}
[END]
[browser = msie] && [globalVar = TSFE:page|layout = 5]
page.includeCSS.file1 = {$css_sel_6}
[END]
so hab ich es gemacht... bei msie funktioniert es...
folgende bedingungen hab ich probiert:
browser=netscape
browser=firefox
useragent=firefox
useragent=*firefox*
useragent = mozilla
useragent = netscape
...
also eigentlich alle kombinationen....
hilfe! 🙂
OK, ein Blick ins Buch TYPO3 Enterprise Content Management - folgendes kommt dabei heraus:
[browser = msie] gilt für alle MS IE
[browser = msie, opera] gilt für alle MS IE und Opera Browser
[browser = opera7] gilt für alle Opera 7.xx Browser (z.B. 7.1, etc...)
Folgendes steht noch drunter:
Beachten Sie, dass sich Browser auch unter anderem Namen identifizieren können und die Abfrage dann nicht zu dem gewünschten Ergebnis führt.
Jetzt ist also nur noch die Frage, wie sich Browser identifizieren
TIP: Mein Kollege macht übrigens folgendes:
Firefox ist der Standardbrowser und für alle andere gilt ein anderes CSS - das funzt in jedem Fall
... also, wenn Du "useragent" benutzt, mußt Du mit Wildcards arbeiten (z.B. *Firefox*), denn der String, den getenv("HTTP_USER_AGENT") zurückgibt ist ja sowas in der Art von "Mozilla/4.0 (compatible; Lotus-Notes/5.0; Windows-NT)" (link)
Aber ich würde wunschtachos Vorschlag weiterverfolgen ... 😉