Bei Update von 3.0.1 auf 3.0.3 werden CSS-Dateien (vom Contao-Editor) überschrieben
Hallo zusammen,
ich habe seit langem mal wieder eine Contao-Seite erstellt und diesmal ausschließlich den Contao-internen CSS-Editor verwendet. Nun stand das Update an und nachdem ich es aufgespielt hatte, fiel das komplette Framework auseinander. Ich habe gedacht, ich traue meinen Augen nicht, als zusätzlich der braune MusicAcademy-Hintergrund erschien und auch die Verknüpfung zu ../../files/music_academy/background.gif im Code auftauchte, die aber natürlich nicht vorhanden war.
Und noch etwas: Wenn ich meine default.css im Contao-Editor aufrufe zeigt er mir die (alten) richtigen Inhalte an, also keine Verknüpfung auf music_academy, im Frontend zeigt er es aber trotzdem falsch an! Wird der Editor in dem Moment dann ausgehebelt? "Daten bereinigen" unter Systemwartung hatte dann auch nichts gebracht...
Ich habe nun ewig gesucht und die Lösung war eigentlich ganz einfach: unter /assets/css/ gibts die gute alte bekannte basic.css und default.css. Da steckte die ganze erstellte Arbeit aus dem Contao-eigenen CSS-Editor drin und die wurden beim Update überschrieben. Also die beiden Dateien wieder zurück gespielt und noch einmal "Daten bereinigen" und schon gings wieder!
Habe ich denn etwas falsch gemacht oder heißt das im Umkehrschluss, wenn ich CSS-Dateien nicht extern verknüpfe sondern den Contao-Editor nutze, dass man die /assets/css/default.css und basic.css immer mit sichern und zurück spielen muss? :confused: Bin leicht verwirrt! Dachte, dass man bzgl. Layout nur den template- und files-Ordner sichern muss und habe auch keine Info dergleichen gefunden.
Über eine Aufklärung würde ich mich sehr freuen!
Danke & Gruß
Gunnar
Erklärung... überschreiben der basic.css und default.css beim Update
Zitat:
unter /assets/css/ gibts die gute alte bekannte basic.css und default.css.Da steckte die ganze erstellte Arbeit aus dem Contao-eigenen CSS-Editor drin und die wurden beim Update überschrieben
Da seit Ihr mal wieder auf einen Trick reingefallen.
Also, im Verzeichnis assets/css landen die CSS Dateien die aus dem internem CSS Editor generiert werden + die kombinierte(n) CSS Datei(en).
Die MusicAcademy Demo bringt diese Dateien nun zweimal mit.
a) in der DB für den internen Editor
b) vorgeneriert im Verzeichnis assets/css.
Da das Update immer die MA Demo mitbringt (blöd ja, aber das wurde schon woanders diskutiert), werden damit auch immer die Demo CSS Dateien im Verzeichnis assets/css überschrieben.
Grund dafür ist, das bereits direkt nach dem Installieren die CSS Dateien vorhanden sind und die Frontend Demo damit läuft ohne vorher im Backend oder durch einen anderen Event diese erst generiert werden müssen.
Zitat:
Also die beiden Dateien wieder zurück gespielt und noch einmal "Daten bereinigen" und schon gings wieder!
Da hätte im Prinzip auch nur das "Daten bereinigen" helfen müssen, da dadurch alle CSS Dateien in assets/css gelöscht und neu generiert werden.
Prüfe das mal, danach müssen alle CSS Dateien darin das selbe Datum und Uhrzeit haben.
Abhilfe:
Nenne im internen Editor die CSS Dateinamen um, z.b. mybasics.css und mydefault.css.
Dann werden die durch ein Update nie mehr überschrieben.
Alles klar?
Reservierte .css Namen bei Contao
Ich habe mal in die neuen Installationen von Contao geschaut ... ohne diese zu konfigurieren habe ich folgende Dateien gefunden:
Contao3 \assets\css: basic.css; default.css; mobile.css; print.css
Contao2 \system\scripts: basic.css; music_academy.css; print.css
Wie bei allen anderen vorlagen (in Contao) gilt, Standard Namen und Dateien belassen wie Sie sind und wenn man diese verwenden will, neue Namen verwenden und im falle von CSS macht es Sinn, in den eigenen Dateien (z.Bsp. my_basic.css) nur die Änderungen zu notieren. Bei allfälligen Änderungen/Updates in den Original Contao Dateien ist der Fehler/die Änderungen schnell zu erkennen.
Mein Vorschlag ist deshalb, Leo via pull request ins Manual (Github) einen Hinweis zu notieren dass Contao diese Namen standardmässig verwendet und man für seine eigenen Zwecke alternative Namen Verwenden soll.
In einem weiteren Schritt würde es auch Sinn machen beim internen CSS Editor auf diesen Umstand Hinzuweisen.