Eigene CSS nach Extension CSS

  • 0 x
    7 Beiträge
    0 Hilfreiche Beiträge
    21. 07. 2011, 13:59

    Die CSS-Dateien von Extensions werden immer nach meinen eigens definierten CSS Dateien eingebunden.
    Das ist für die meiste Fälle sehr unpraktisch, da ich dann Werte mit !important oder extrem langen "traversing" in meiner eigenen CSS Datei überschreiben muss.

    Gibt es eine Möglichkeit meine eigene CSS Datei nach denen der Extension zu laden?
    Sie soll das letzte Wort haben.

    [TS]page.includeCSS.style = fileadmin/css/style.css
    [/TS]


  • 1
  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    0 x
    2886 Beiträge
    107 Hilfreiche Beiträge
    21. 07. 2011, 15:17

    Hallo.

    Die Frage lässt sich nicht pauschal beantworten. Denn es kommt hier drauf an, wie die Extension ihr CSS einbindet. Grob gibt es zwei Wege:
    1. via TS an richtiger Stelle unter page.includeCSS
    2. via additionalHeader komplett als HTMl-String

    Im ersten Fall kannst Du auf die Reihenfolge Einfluss nehmen, indem Du das TS entsprechend umschreibt/überschreibst.
    Im zweiten fall (meiner Meinung anch der unelegantere Fall) kannst Du dem nur entgegenwirken, indem Du Dein CSS ebenso via additionalHeader einbindest - oder den Extensions ein ordentliches Einbinden ihres CSS beibringst und dann wie oben vorgehst

  • aimcom aimcom
    T3PO
    0 x
    29 Beiträge
    0 Hilfreiche Beiträge
    22. 07. 2011, 09:45

    Ich mache es immer so, dass ich die standardmäßig definierten Stylesheets komplett entferne und nur auf meine eigenen CSS-Dateien setze. Das spart überflüssigen CSS-Code von Elementen, die ich nicht benötige und gibt maximale Gestaltungsfreiheit:

    1. plugin.tx_cssstyledcontent._CSS_DEFAULT_STYLE >
    2. page.includeCSS.default = fileadmin/stylesheets/default.css

  • 0 x
    7 Beiträge
    0 Hilfreiche Beiträge
    22. 07. 2011, 14:38

    Danke für die Hilfe!
    [quote="Julian.Hofmann"]
    1. via TS an richtiger Stelle unter page.includeCSS
    Im ersten Fall kannst Du auf die Reihenfolge Einfluss nehmen, indem Du das TS entsprechend umschreibt/überschreibst.st
    [/quote]
    Ja, Nummer eins klappt halt meistens nicht.
    Da kann ich auch folgendes schreiben und bin immernoch vor den CSS Dateien der Extensions:
    [TS]page.includeCSS.99999999 = fileadmin/css/style.css
    [/TS]
    [quote="aimcom"]
    Ich mache es immer so, dass ich die standardmäßig definierten Stylesheets komplett entferne und nur auf meine eigenen CSS-Dateien setze. Das spart überflüssigen CSS-Code von Elementen, die ich nicht benötige und gibt maximale Gestaltungsfreiheit:
    [/quote]
    Das ist natürlich theoretisch die sauberste Vorgehensweise, aber auch aufwändig und ggf. inkompatibel bei Updates.
    Man muss dann eben das CSS jeder Extension erstmal manuell deaktivieren und dann für jeweils kompatiblen Ersatz sorgen.

    Ich hatte gehofft es gibt eine schnelle kleine Lösung, die ich übersehen hätte, so analog zu "includeFooterJS".

    Ich Danke euch auf jeden Fall!

  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    0 x
    2886 Beiträge
    107 Hilfreiche Beiträge
    22. 07. 2011, 15:27

    Wie gesagt, es kommt auf die Extension an.
    Wenn includeCSS mit hohem Index nicht klappt, dann baut die Extension vermutlich via additionalHeaders ihre Formatierung ein. demnach sollte ein

    1. page.headerData = TEXT
    2. page.headerData.value = <link.... dein.css" />
    das ganze überschreiben können.

    [quote="TSref"]Inserts content in the header-section. Could be JavaScripts,
    meta-tags, other stylesheet references.
    By default, gets inserted after all the style definitions.
    [/quote]

  • 0 x
    28 Beiträge
    1 Hilfreiche Beiträge
    07. 07. 2014, 13:38

    gibt es inzwischen mit den neuen Typo3 Versionen einen einfachereren Ansatz für dieses Problem? Wir stoßen auch immer wieder darauf.. beispielsweise wenn man Powermail Formulare stylen möchte.
    Per Default werden diese CSS Files NACH den eigenen eingebunden..

  • 1