[Frage] CSS für Internet Explorer oder die Browserweiche geht in Fluid Typo3 9.5 nicht mehr TYPO3-Version: 9.5.17

  • draupnir draupnir
    T3PO
    0 x
    25 Beiträge
    1 Hilfreiche Beiträge
    19. 06. 2020, 14:14

    Hallo zusammen,
    in einer statischen Website ohne TYPO3 9.5 kann ich eine CSS-Datei für die IEs hinzu laden durch
    <!--[if lt IE 9]>
    <link rel="stylesheet" type="text/css" href="css/IE9.css" media="screen" >
    <![endif]-->
    im HTML-Quellcode. Dort klappt das auch. Jedoch, wenn dies in mein Template einbaue, wird es ignoriert und die Datei IE9.css nie geladen.

    Die zweite Art der Browserweiche, die ich unter TYPO3 4.7 im Typoscript benutzt habe,
    [browser = msie]
    <link rel="stylesheet" type="text/css" href="css/IE9.css" media="screen" >
    [global]geht auch nicht mehr.

    Da Fluid eine eigene Art der Abfrage hat, habe ich folgendes im Typoscript vor Page{…} versucht:
    includeCSS.file1 = css/layout.css
    <f:variable name="test" value="1"/>
    <f:if condition="{test == 1}">
    includeCSS.file2 = css/IE9.css
    </f:if>
    Aber wie ich es auch versuche, die IE9 wird immer geladen. So war's ja nicht gewollt. ;-)

    Und habe ich auch nichts finden können, wie der Befehl lautet, um abzufragen, welcher Browser gerade benutzt wird. So wie ein "isBrowser == "msie" ist es vermutlich. Dort wie lautet die Bedingung korrekt?

    Schönes Wochenende,
    Jens.

    Ein großer Sprung von TYPO3 4.7 via 9.5 nach 10.4 - alles ist so anders.


  • 1
  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    0 x
    3020 Beiträge
    127 Hilfreiche Beiträge
    19. 06. 2020, 20:52

    Hallo Jens.

    Wie versuchst Du in TYPO3 v9 CSS via Fluid-Template in den HTML-head zu bekommen? IMO ging das (außer mit zusätzlichen ViewHelpern) nicht.

    Via TypoScript und Conditional Comments:
    [code]includeCSS {
    ie8Style = fileadmin/css/style3.css
    ie8Style.allWrap = <!--[if lte IE 9]>|<![endif]-->
    }[/code]
    siehe https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/Setup/Page/Index.html#includecss-array

    Via TypoScript Condition:
    Den Weg gibt es IMO nicht mehr. Mit TYPO3 v9.5 wurden die Condition auf die Symfony expression language ungestellt. Eine Abfrage auf Browser fiel da raus (und ist auch nicht mehr ganz zeitgemäß)

    Viele Grüße
    Julian

  • draupnir draupnir
    T3PO
    0 x
    25 Beiträge
    1 Hilfreiche Beiträge
    19. 06. 2020, 21:30

    Hallo Julian,
    danke für die Info. Ich werde es morgen mit includecss versuchen. Das ist ja fast der alte Weg. Ich hatte die Abfragen schon im HTML-Quellcode, hoffe, es klappt auf diesem Weg.

    Zu <f:if - geht das nur noch innerhalb page { } ?

    <f:variable name="test" value="1"/>
    <f:if condition="{test == 1}">
    tue etwas, wenn Bedingung erfüllt ist
    </f:if>

    oder ist da ein Schreib-/Denkfehler drin?

    Gruß, Jens

    Ein großer Sprung von TYPO3 4.7 via 9.5 nach 10.4 - alles ist so anders.

  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    0 x
    3020 Beiträge
    127 Hilfreiche Beiträge
    20. 06. 2020, 20:17

    Ohne Besonderheiten (ViewHelper) landet der Inhalt aus Templates via Fluid stets im body Deiner Seite - und da gehört CSS ja nicht hin.

    ab TYPO3 v10.3:
    Inzwischen gibt's den AssetCollector. Da ist es dann möglich aus Fluid-Templates heraus CSS/JS in den Head zu bekommen.
    https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/10.3/Feature-90522-IntroduceAssetCollector.html

    Die Syntax innerhalb deiner Fluid-Condition passt nicht. Gab erst kürzlich selbe Frage drüber bei Stack Overflow: https://stackoverflow.com/questions/62392286/typo3-fluid-fif-always-returning-true

  • draupnir draupnir
    T3PO
    0 x
    25 Beiträge
    1 Hilfreiche Beiträge
    27. 06. 2020, 11:38

    Ich habe die Browserweiche in TYPO3 10.4.4 (müsste so auch in 9.5 laufen) erfolgreich eingebaut:

    # CSS-Dateien einfügen
    includeCSS{
    file1 = fileadmin/css/layout.css
    ## Sonderfälle für IE 9 und tiefer
    ie9Style = fileadmin/css/spezial_IE9.css
    ie9Style.allWrap = <!--[if lte IE 9]>|<![endif]-->
    }

    Schönes Wochenende,
    Jens.

    Ein großer Sprung von TYPO3 4.7 via 9.5 nach 10.4 - alles ist so anders.

  • 1