Ich arbeite mit dem Template-Auto parser und möchte im Head ein eigenes kleines PHP-Skript einbauen. Es macht, je nach Plattform und Browser, ein CSS-Link auf ein mac-css oder pc-css (Style nach Browser). Wieso geht der folgende Code nicht?:
page.10= PHP_SCRIPT
page.10.file = /fileadmin/template/main/scripts/stylenachbrowser.php
#angry#
im Header musst Du über headerData einbinden. Es gäbe übrigens auch seitens TypoScript diese Abfrage, so dass Du auf Dein PHP verzichten kannst.
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Conditions/Index.html
Viele Grüße
Niki
Danke, sag mal: welche TypoScript-Funktion meinst du? :o
Meinst du so einbinden:
page.headerData.10 = PHP_SCRIPT
page.headerData.10.file = /fileadmin/template/main/scripts/stylenachbrowser.php
? Das geht aber nicht?
Hi hombo13
Niki meint folgende Typoscript Syntax, nach der du den Browser abfragen kannst:
(Schnipsel aus der deutschen Typo3 Doku von Robert Meyer)
---------------------------------------------------------
[browser = …]
Microsoft Internet Explorer -> msie
Netscape Communicator -> netscape
Lynx -> lynx
Opera -> opera
PHP fopen -> php
AvantGo -> avantgo
Adobe Acrobat -> WebCapture acrobat
IBrowse (Amiga) -> ibrowse
Teleport Pro -> teleport
sonstige -> unknown
Bei der Überprufung wird intern die Versionsnummer mit übergeben. Ist der Browser z.B. ein
Netscape Communicator Version 4.72, lautet der zu überprüfende Browsername
„netscape4.72“. Die Überprüfung auf einen Teilstring reicht hier aber aus. So würden z.B.
„net“ oder „scape“ oder auch „netscape4“ hier anschlagen.
Beispiel:
[browser = netscape, opera]
---------------------------------------------------------
LG,
Daniel
Besten Dank - habe Stelle auf Seite 201 gefunden. In PHP würde ich das für plattformgetrennt (Win/Mac) so schreiben:
<?php
//dieses Skript macht je nach Plattform einen Link auf ein Stylesheet, gesondert nach print und screen
$deragent = $_SERVER['HTTP_USER_AGENT'];
if(preg_match("/Mac/", "$deragent")) {
//bitte Link auf Stylesheet fuer Mac anpassen
print("<!-- Link auf Mac-Style --> \n");
print("<link href="http://www.myDomain.ch/einordner/inc/styles/mac_print.css" rel="stylesheet" type="text/css" media="print" />\n");
print("<link href="http://www.myDomain.ch/einordner/inc/styles/mac_screen.css" rel="stylesheet" type="text/css" media="screen" />\n");
}
else {
//bitte Link auf Stylesheet fuer Windose anpassen
print("<!-- Link auf Windos-Style --> \n");
print("<link href="http://www.myDomain.ch/einordner/inc/styles/pc_print.css" rel="stylesheet" type="text/css" media="print" /> \n");
print("<link href="http://www.myDomain.ch/einordner/inc/styles/pc_screen.css" rel="stylesheet" type="text/css" media="screen" />\n");
}
?>
Aber jetzt kommts: Wie schnipsle ich das in Typo3? Leider hat Rober Meyer es versäumt, so ein schönes Praxisbeispiel zu erwähnen. Und leider bin ich einfach zu doof, um Typo3 zu begreifen - ich arbeit am liebesten mit Praxisbeispielen. Das geht ;-)
Ich verstehe die Frage nicht...
Normalerweise verwendest du in Typo doch irgendeinen Befehl um Styles einzubinden... zb:
page.includeCSS.file1 = fileadmin/template/sub/res/layout.css
page.includeCSS.file2 = fileadmin/template/sub/res/stylesheet.css
Mal angenommen das "Layout" (die Formatierung der DIV Beispielsweise) ändert sich nicht, sehr wohl aber der Style (also das stylesheet.css) schreibst du folgendes drunter:
[system = win]
page.includeCSS.file2 = fileadmin/template/sub/res/stylesheet_fuer_windows.css
[GLOBAL]
[system = mac]
page.includeCSS.file2 = fileadmin/template/sub/res/stylesheet_fuer_mac.css
[GLOBAL]
Sollte es noch Fragen geben, beschreibe diese genauer
MFG Proximo
hombo13 schrieb:
Danke, sag mal: welche TypoScript-Funktion meinst du?
Hast Du Dir den Link angeguckt den ich in mein Posting eingefügt habe? Links sind oft ganz gut, die muss man angucken!