Ergebnis 1 bis 10 von 10

Thema: externe stylesheets mit core-funktion oder theme plus

  1. #1
    Contao-Fan Avatar von aportmann
    Registriert seit
    19.06.2009.
    Ort
    schweiz
    Beiträge
    422
    Partner-ID
    5934

    Standard externe stylesheets mit core-funktion oder theme plus

    guten morgen zusammen

    schon immer habe ich meine css-daten mit theme plus eingebunden. somit konnte ich die dateien mit einem editor meiner wahl bearbeiten.

    da ich mich mit der extension jedoch in eine abhängigkeit begebe habe ich mir angeschaut, wie weit das feature im core mittlerweile funktioniert.

    soweit so gut, ausser, dass hintergrundbilder und webfonts nicht mehr relativ zur eigentlichen css-datei referenziert werden können, sondern contao die css nach assets verschiebt.

    nun frage ich mich was sauberer ist. theme plus (mit den assetic filter funktioniert die referenzierung) oder doch die corefunktion (falls contao es sich wieder andes überlegt sind alle relativen pfade ungültig).

    wie handhabt ihr das?

    gruss andi
    Gruss Andi

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.200
    Partner-ID
    10107

    Standard

    Zitat Zitat von aportmann Beitrag anzeigen
    soweit so gut, ausser, dass hintergrundbilder und webfonts nicht mehr relativ zur eigentlichen css-datei referenziert werden können, sondern contao die css nach assets verschiebt.
    Contao kopiert die CSS Datei nicht nach Assets, sondern führt alle Stylesheets, inkl. externe Stylesheets zusammen und legt die zusammengefasste Datei in assets ab. Darüberhinaus parsed Contao alle Stylesheets, inkl. externe Stylesheets und ersetzt url('...') Angaben dementsprechend. Aus url('../images/foo.png') wird dann zB url('../../files/theme/images/foo.png'), auch bei den externen Stylesheets.

    Wenn das bei dir nicht passiert, läuft irgendetwas schief.


    Contao führt zwar alle Stylesheets zusammen, aber leider werden nur die internen Stylesheets minified, warum auch immer (siehe auch https://community.contao.org/de/show...Cr-CSS-Dateien ).


    Ich setze auch immer Theme+ ein, allerdings bin ich dadurch mehr oder weniger an den Composer gebunden, was oft noch Probleme bereitet.

  3. #3
    Contao-Fan Avatar von aportmann
    Registriert seit
    19.06.2009.
    Ort
    schweiz
    Beiträge
    422
    Partner-ID
    5934

    Standard

    sali spooky

    sorry, ich habe die falsche wortwahl getroffen. natürlich «verschiebt» contao die css nicht nach assets, da hast du recht. aber es führt sie zusammen und so gehen relative pfade nicht mehr von der original css aus sondern von der zusammengefassten im assets ordner.

    url('../../files/theme/images/foo.png') funktioniert natürlich, finde ich aber ungünstig. wenn jetzt in einer nächsten version die zusammengefasste css nicht mehr im gleichen ordner zu liegen kommt, wirds lustig, da man alle pfade bei einem update neu setzen müsste.

    d.h. für mich: weiterhin auf theme plus setzen, dort kann ich dateien zum original css referenzieren, der rest macht die extension.



    gruss adi
    Gruss Andi

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.200
    Partner-ID
    10107

    Standard

    Zitat Zitat von aportmann Beitrag anzeigen
    aber es führt sie zusammen und so gehen relative pfade nicht mehr von der original css aus sondern von der zusammengefassten im assets ordner.
    Doch, die sollten funktionieren, weil Contao die url('...') Angaben eben umschreibt, sodass es wieder passt.



    Zitat Zitat von aportmann Beitrag anzeigen
    url('../../files/theme/images/foo.png') funktioniert natürlich, finde ich aber ungünstig. wenn jetzt in einer nächsten version die zusammengefasste css nicht mehr im gleichen ordner zu liegen kommt, wirds lustig, da man alle pfade bei einem update neu setzen müsste.
    Warum solltest du die Pfade neu setzen müssen? Nochmal: Contao ersetzt die url('...') Parameter aus deinem originalem Stylesheet in der zusammengefassten Version, sodass die relativen Pfade wieder passen.

    Wo die zusammengefasste CSS Datei liegt, spielt für dich keine Rolle.


    // von welcher Contao Version reden wir überhaupt? Kann sein, dass das alles in Contao 2.x anders ist, als in 3.x
    Geändert von Spooky (19.02.2014 um 08:20 Uhr)

  5. #5
    Contao-Fan Avatar von aportmann
    Registriert seit
    19.06.2009.
    Ort
    schweiz
    Beiträge
    422
    Partner-ID
    5934

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Doch, die sollten funktionieren, weil Contao die url('...') Angaben eben umschreibt, sodass es wieder passt.
    nein, bei extern eingebundenen stylesheets schreibt contao eben genau nichts um, deshalb das «problem» – zumindest bei mir.

    Zitat Zitat von Spooky Beitrag anzeigen
    Aus url('../images/foo.png') wird dann zB url('../../files/theme/images/foo.png'), auch bei den externen Stylesheets.
    wenn dem so wäre, wäre ich ja zufrieden

    Zitat Zitat von Spooky Beitrag anzeigen
    // von welcher Contao Version reden wir überhaupt? Kann sein, dass das alles in Contao 2.x anders ist, als in 3.x
    3.2.7


    gruss andi
    Geändert von aportmann (19.02.2014 um 11:44 Uhr)
    Gruss Andi

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.200
    Partner-ID
    10107

    Standard

    Dann stimmt aber etwas nicht. In einer frischen Contao Installation bei mir wird aus url('../images/foo.png') (in einem externen Stylesheet, dass im Layout eingebunden ist) auf jeden Fall url('../../files/theme/images/foo.png') in der zusammengeführten Datei.

  7. #7
    Contao-Fan Avatar von aportmann
    Registriert seit
    19.06.2009.
    Ort
    schweiz
    Beiträge
    422
    Partner-ID
    5934

    Standard

    hat mich sogleich auf eine idee gebracht ... die hochkommata machen den unterschied. bug oder feature? gleich mal schauen, was das w3c vorschreibt


    gruss andi
    Gruss Andi

  8. #8
    Contao-Fan Avatar von aportmann
    Registriert seit
    19.06.2009.
    Ort
    schweiz
    Beiträge
    422
    Partner-ID
    5934

    Standard

    gerade gestestet, eigentlich müsste alle drei definitionen funktionieren:

    Code:
    { background-image: url(../graphics/css-back.gif) }
    { background-image: url('../graphics/css-back.gif') }
    { background-image: url("../graphics/css-back.gif") }
    die erste variante ohne hochkomma oder anführungszeichen funktioniert jedoch nicht.


    gruss andi
    Gruss Andi

  9. #9
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.200
    Partner-ID
    10107

    Standard

    Ja, siehe zB https://github.com/contao/core/issues/4096
    Ich glaube das ist Absicht, sodass man auch weiterhin absolute URLs (wie zB für .htc files) definieren kann.

  10. #10
    Contao-Fan Avatar von aportmann
    Registriert seit
    19.06.2009.
    Ort
    schweiz
    Beiträge
    422
    Partner-ID
    5934

    Standard

    jetzt weiss ich es auf jeden fall
    Gruss Andi

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •