Morgens.
Nachdem ich nun zwei Tage lang umsonst versucht habe mein Template auch für IE5.5 und 6 zum Arbeiten zu zwingen, habe ich beschlossen zwei Templates anzulegen:
[browser = msie] && [version < 7]
page = PAGE
page {
10 = TEMPLATE
10 {
template = FILE
template.file = fileadmin/layout/index_ie.html
}
}
[else]
page = PAGE
page {
10 = TEMPLATE
10 {
template = FILE
template.file = fileadmin/layout/index.html
}
}
[global]
page.10 {
workOnSubpart = DOCUMENT
marks {
fsSelector = COA
fsSelector {
...
funktioniert nur ungünstiger Weise nicht. Da ich hier noch nichts gefunden habe, was auch gelöst worden wäre, versuch ich's noch mal.
Viele Grüße
kasimir
Sieht auf den ersten Blick nicht schlecht aus, man kann es noch etwas vereinfachen:
page = PAGE
page.10 = TEMPLATE
page.10.template = FILE
[browser = msie] && [version =< 7]
page.10.template.file = fileadmin/layout/index_ie.html
[else]
page.10.template.file = fileadmin/layout/index.html
[end]
page.10 {
workOnSubpart = DOCUMENT
marks {
fsSelector = COA
fsSelector {
...
müsste eigentlich funzen!?
Mach mal oben bei der Version ein =< statt <
Danke für die schnelle Antwort. Das mit dem "< 7" passt, für den IE7 läuft das Template mit leichten Anpassungen über eine CSS-Weiche. Aber IE6 und 5.5 laden mir leider auch die index.html als Template. 🙁
page.10.template = FILE
[browser = msie] && [version= <7]
page.10.template.file = fileadmin/layout/index_ie.html
[else]
page.10.template.file = fileadmin/layout/index.html
[end]
Das funktioniert jetzt, man beachte die leicht veränderte Schreibweise für die Versionsprüfung. Dafür geht das hier noch nicht:
page.headerData.20 = TEXT
[browser = msie] && [version= <6]
page.headerData.20.value (
<link rel="stylesheet" type="text/css" href="fileadmin/layout/layout_ie_55.css" />
)
[browser = msie] && [version = 6]
page.headerData.20.value (
<link rel="stylesheet" type="text/css" href="fileadmin/layout/layout_ie.css" />
)
[else]
page.headerData.20.value (
<link rel="stylesheet" type="text/css" href="fileadmin/layout/layout.css" />
)
[end]
Und zwar funktioniert nur das erste Statement nicht. Jemand eine Idee?
So. Template-Auswahl wie oben und das StyleSheet so:
page.includeLibs.user_tools = fileadmin/plugins/user_tools.php
page.headerData.20 = COA
page.headerData.20 {
40 = USER
40.userFunc = user_tools->user_setStyle
}
Das PHP-File:
<?php
class user_tools
{
var $cObj;
/**
* @param string Empty string (no content to process)
* @param array TypoScript configuration
* @return string HTML output, showing the current Server time.
*/
function user_setStyle($conten,$conf)
{
if(preg_match("/MSIE 6/i",$_SERVER['HTTP_USER_AGENT'])) $content = "<link rel=\"stylesheet\" type=\"text/css\" href=\"fileadmin/layout/layout_ie.css\" />\n";
elseif(preg_match("/MSIE 5/i",$_SERVER['HTTP_USER_AGENT'])) $content = "<link rel=\"stylesheet\" type=\"text/css\" href=\"fileadmin/layout/layout_ie_55.css\" />\n";
else $content = "<link rel=\"stylesheet\" type=\"text/css\" href=\"fileadmin/layout/layout.css\" />\n";
return $content;
}
}
?>
Hätte ich auch eher drauf kommen können.