Ergebnis 1 bis 12 von 12

Thema: theme_plus 4.0.0, Contao 3.1.1: URLs im CSS -> ../../files/files/...

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

    Standard theme_plus 4.0.0, Contao 3.1.1: URLs im CSS -> ../../files/files/...

    Damit die relativen url('...') Pfadangaben in den CSS files richtig ausgegeben werden (so wie Contao das ansonsten auch machen würde, ohne theme_pluss), muss ich in theme_plus ja den CSS Rewrite Filter einsetzen. Allerdings generiert mir dieser momentan eine Falsche URL. Angenommen ich habe bspw. folgende Dateien:
    Code:
    files/foo/css/foo.css
    files/foo/images/foo.png
    In foo.css würde ich daher zB url('../images/foo.png') schreiben. CSS Rewrite macht dies allerdings zu url('../../files/files/foo/images/foo.png') anstatt einfach nur url('../../files/foo/images/foo.png').

    Warum passiert das? Muss ich im CSS die relativen Pfadangaben doch anders machen?


    // edit: Contao 3.1.1, theme_plus 4.0.0 stable
    Geändert von Spooky (14.07.2013 um 12:36 Uhr) Grund: Versionen

  2. #2
    Alter Contao-Hase Avatar von bizon
    Registriert seit
    16.06.2010.
    Beiträge
    1.123

    Standard

    Wenn ich dich richtig verstanden habe, hast du in ThemePlus, bei den Stylesheets, den Assetic Filter CSS-Rewrite ausgewählt.

    Der nächste Schritt wäre dann, den Assetic Filter für Stylesheets (oder evtl. einen Filter Chain) im Seitenlayout zu aktivieren. Dann sollte der rewrite klappen.

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

    Standard

    Zitat Zitat von bizon Beitrag anzeigen
    Wenn ich dich richtig verstanden habe, hast du in ThemePlus, bei den Stylesheets, den Assetic Filter CSS-Rewrite ausgewählt.

    Der nächste Schritt wäre dann, den Assetic Filter für Stylesheets (oder evtl. einen Filter Chain) im Seitenlayout zu aktivieren. Dann sollte der rewrite klappen.
    Der CSS Rewrite Filter ist sowohl bei den einzelnen CSS Dateien selbst, als auch im Seiten Layout aktiviert. Das Problem ist ja auch nicht, dass das CSS Rewrite nicht greift, sondern dass der Output des CSS Rewrite falsch ist. Aus ../images/foo.png wird eben ../../files/files/foo/images/foo.png.

    Wo ist da eigentlich der Unterschied? Hat das zuweisen eines Filters im Seitenlayout eine andere Auswirkung als bei den einzelnen Dateien?



    Übrigens, wenn ich im Backend eingelogged bin, dann sieht die URL so aus: ../../../files/foo/images/foo.png (über's proxy script), was auch wiederum falsch ist. Zwar fehlt hier das doppelte "files", dafür fehlt auch wiederum ein zusätzliches "../" (da sich das CSS file bzw. das proxy script ja in system/modules/theme-plus/web/proxy.php befindet und man von dort aus eben mit ../../../../ in den root kommt und dann weiter zu files).

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

    Standard

    Ah, das brachte mich nun auf die Lösung. Der Filter wird tatsächlich zwei mal angewandt, wenn er in der Datei und im Seitenlayout aktiv ist. Wär ja eigentlich logisch gewesen . Und dadurch ist dann auch der Output falsch. Habe es nun bei den einzelnen CSS Dateien deaktiviert und den Filter nur mehr im Seitenlayout aktiv, jetzt funktioniert es.

  5. #5
    Alter Contao-Hase Avatar von bizon
    Registriert seit
    16.06.2010.
    Beiträge
    1.123

    Standard

    Tut mir leid, dann kann ich nicht weiterhelfen. Dass die Nutzung von Assetic-Filtern im Gegensatz zu früheren ThemePlus Versionen jetzt nötig ist, ist für mich auch neu und ich steig, um ehrlich zu sein, auch noch nicht durch. Hatte aber das gleiche Problem mit den falschen Pfaden.

    Nach einigen Recherchen im Forum bin ich wie folgt vorgegeangen.

    neueste Themeplus von github geholt und installiert
    Backendmodule: einen Filter CSS-Rewrite angelegt.
    beim Anlegen der Stylesheets den Assetic-Filter ausgewählt
    und auch im Seitenlayout aktiviert
    in den CSS-Dateien wiklich relative Pfade eingetragen
    Systemwartung durchgeführt

    EDIT: hatte nicht gesehen, dass du schon die Lösung gefunden hast. Seltsam ist aber, dass ich den Filter wie oben beschrieben, zweimal markiere und es trotzfem funktioniert.

    EDIT2: Hab den Filter bei den Stylesheets jetzt auch deaktiviert und es klappt ebenso.
    Geändert von bizon (14.07.2013 um 13:58 Uhr)

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

    Standard

    Ja, wie gesagt, wenn ich CSS Rewrite sowohl bei den Dateien, als auch im Seitenlayout aktiviere, ist der Output auf jeden Fall falsch.

  7. #7
    Contao-Nutzer Avatar von djo
    Registriert seit
    30.01.2011.
    Ort
    Waldshut-Tiengen
    Beiträge
    210

    Standard

    Hallo zusammen,


    ich habe eine funktionierende Seite mit Stylesheets eingebunden im Seitenlayout (files/ordner/ordner/style.css). Sobald ich theme_plus installiere, kann er keinen Pfad aus dem Stylesheet mehr finden und dabei habe ich noch nichts mit theme_plus konfiguriert. Im Stylesheet sind Pfade angegeben, wie "../img/bild.jpg"

    Ich blicke überhaupt nicht durch, wo da das Problem ist.


    Liebe Grüße,
    Daniel

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

    Standard

    Wenn du Theme+ installiert hast, musst du externe Stylesheets auch wirklich über Theme+ einbinden. Ich kann mich nicht mehr genau erinnern, aber ich glaube auch bei mir war es so, dass die von Contao über das Seitenlayout definierten, externen Stylesheets tatsächlich nicht mehr eingebunden wurden.

    // ah, oder machst du es eh über Theme+? Verstehe deine Angabe nicht ganz . Abgesehen vom Rest musst du auf jeden Fall den CSS Rewrite Filter von Assetic verwenden, damit urls im Stylesheet korrekt sind.

  9. #9
    Contao-Nutzer Avatar von djo
    Registriert seit
    30.01.2011.
    Ort
    Waldshut-Tiengen
    Beiträge
    210

    Standard

    Hallo :-)

    Okay. Ich habe den Filter "CSS_Rewrite" erstellt und für den Style unter files/projektpfad/css/main.css aktiviert und Theme_Plus macht aus meinen CSS-URLs folgendes:

    ../../../../../../../../files/projektpfad/projektpfad/img/bild.jpg

    Im Stylesheet steht:

    background: URL("../projektpfad/img/bild.jpg");

    Ich sehe da keine Logik und somit erschließt sich mir kein Lösungsansatz. :-)

    Würde mich sehr freuen, wenn es da einen Tipp gebe, da ich Theme_Plus ultragenial finde.

    Liebe Grüße,
    Daniel
    Geändert von djo (05.08.2013 um 16:08 Uhr)

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

    Standard

    • Wo bzw. wie wendest du den CSS Rewrite Filter überall an?
    • Sind die URL Angaben tatsächlich relativ zum CSS file? url("../projektpfad/img/bild.jpg"); sieht mir nicht danach aus. Weil da müsste dann folgende Struktur vorliegend sein:

      /foo/css.css
      /projektpfad/img/bild.jpg

  11. #11
    Contao-Nutzer Avatar von djo
    Registriert seit
    30.01.2011.
    Ort
    Waldshut-Tiengen
    Beiträge
    210

    Standard

    Also es sieht wie folgt aus:

    files/projektpfad/css/main.css
    files/projektpfad/img/bild.jpg


    Style über Theme_Plus in alle Seitenlayouts eingebunden.
    Also mit Theme_Plus die CSS-Datei angewählt, dann auf alle Seitenlayouts und unten den CSS-Rewrite-Filter eingebunden.

    Hmmmm. Geht Theme_Plus nun vom Contao-Root aus, oder geht es vom Pfad der CSS-Datei aus?
    Geändert von djo (05.08.2013 um 16:14 Uhr)

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

    Standard

    Zitat Zitat von djo Beitrag anzeigen
    Also es sieht wie folgt aus:

    files/projektpfad/css/main.css
    files/projektpfad/img/bild.jpg
    Dann muss der Pfad url("../img/bild.jpg"); lauten, nicht url("../projektpfad/img/bild.jpg"); (wäre auch ohne Theme+ so in Contao 3).

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
  •