Ist es schlimm keine eigenen CSS Files zu machen wenn CTI_Flex wirklich viele vorgibt ? (gelöst)
am 12.06.2011 - 23:18 Uhr in
Diese Diskussion kommt von einem anderen Threat aber da das andere Thema abgeschlossen ist werde ich hier einen neuen machen.
Ich bin verwirrt da ich seit ein paar Tagen CSS Änderungen an meiner Page mache. Ich benutze das CTI_Flex Theme ein Sub Theme von Zen und die CSS Files sind schön strukturiert vorhanden und ich habe auch schon einige Änderungne vorgenommen.
Nun meine Frage legt Ihr immer eine eigene CSS Datei an oder kann man auch die des Themes benutzen ?
Sollte man einmal ein Update machen kann man ja die CSS Files abspeichern und wieder hochladen. Ist das ein schlimmer Fehler wenn man es so macht wie ich ?
Danke für eure Antworten und die Geduld mit uns Anfängern :-)
mfG
Markus
- Anmelden oder Registrieren um Kommentare zu schreiben
Das ist doch kein Fehler
am 13.06.2011 - 00:21 Uhr
Warum willst Du den alle Dateien nachbearbeiten? Du wählst ja ein Theme aus, weil es dir gefällt und es deinen Anforderungen nahe kommt. wichtig ist einfach, dass Du das Them immer in den Ordner
sites/all/themes
abspeicherst. Natürlich steht es dir frei die CSS-Dateien nachzubearbeiten aber doch wohl nur die bei denen Du etwas ändern möchtest.Gruss Roger
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen (1. Posting vom Thema) <==> das erleichtert das finden von Lösungen
Das meine ich auch aber ...
am 13.06.2011 - 00:32 Uhr
der Benutzer im anderen Threat empfiehlt mir gerade das nicht zu machen. Als Anfänger bin ich nun verwirrt.
Soll ich nun alle CSS Änderungen rauskopieren und in eine eigene Theme aenderungen.css eintragen oder kann ich es so lassen (und bei update kopieren) ?
Aloemann
Das Problem ist
am 13.06.2011 - 01:38 Uhr
Das Problem ist folgendes:
Wenn du alle Änderungen im CSS des Themes tätigst, dann gehen diese Änderungen beim nächsten Update des Themes vermutlich flöten, weil die CSS-Datei des Themes dabei überschrieben wird. Das heißt, du musst nach einem Update alle Änderungen neu eintragen.
Du hattest dazu zwei Lösungsvorschläge gemacht:
1. (erstmal) Keine Updates für das Theme installieren
--> Meiner Meinung nach prinzipiell die schlechteste Sache, die man machen kann. Die Updates kommen nicht ohne Grund raus, da werden gelegentlich auch mal Sicherheitslücken geschlossen usw. Ist bei Themes vermutlich nicht so kritisch, wie bei Modulen, aber Updates sollte man meines Erachtens immer installieren
2. Alte CSS-Datei des Themes sichern und damit später die neue überschreiben
--> auch keine gute Idee. Wenn z. B. im Theme Anpassungen vorgenommen wurden (z. B. an bestimmten Stellen Container hinzugefügt oder die IDs / Klassen vorhandener Container geändert), dann stehen natürlich auch die Style-Infos dafür in der neuen CSS-Datei. Wenn du dann die neue mit der alten CSS-Datei überschreibst, gehen die Styles für neue Elemente verloren oder Style-Änderungen an vorhandenen Elementen werden nicht umgesetzt usw. Das ist also im Allgemeinen auch nicht die beste Lösung.
In meinen Augen gibt es zwei ordentliche Lösungen:
1. Du erstellst dir eine eigene CSS-Datei, welche alle deine Änderungen enthält und bindest diese in der .info deines Themes ein. Nach einem Update ist natürlich die .info überschrieben, aber dann musst du nur noch eine Zeile in die Info setzen, statt das ganze CSS neu einzutragen (die Code-Zeile zum Einbinden der CSS-Datei kann man ja in ein Text-File speichern, dann kann man sich die Arbeit etwas mit Copy & Paste erleichtern ;) )
2. Du erstellst dir eine eigene CSS- oder Text-Datei und trägst dort alle deine Änderungen ein. Diese Datei bindest du aber nicht im Theme ein, sondern speicherst sie dir irgendwo, wo du sie wiederfindest und nicht versehentlich löschst. Und nach jedem Update kopierst du den gesamten CSS-Code aus der Datei und fügst ihn in die style.css deines Themes ein.
Ich persönlich würde zu Variante 1 raten, dass ist die sauberste. Natürlich stimmt es auch, dass es auf die Ladezeiten geht, wenn man die CSS-Anweisungen auf mehrere Dateien verteilt hat, statt sie in eine Datei zu packen. Allerdings ist dieser Nachteil vermutlich nur theoretischer Natur, denn in den meisten Fällen hat man Caching und / oder CSS-Aggregation aktiviert. Das bedeutet, beim ersten Aufruf der Seite werden alle benötigten CSS-Files geladen (an dieser Stelle wäre Variante 1 also "schlechter", weil ein extra CSS-File geladen werden muss). Dann werden die Inhalte der CSS-Files in ein einzelnes Dokument eingetragen, welches im Files-Ordner landet. Dann hat man ein einzelnes (oder ein paar wenige) CSS-File, welches alle Style-Anweisungen enthält. Und bei allen künftigen Anfragen werden nicht mehr alle CSS-Files geladen, sondern stattdessen das Cache-CSS-File. Damit ist der theoretische Nachteil also im Grunde verflogen, weil am Ende eh alles im Cache landet. Diese Datei wird dann verwendet, solange sie existiert. Irgendwann läuft der CSS-Cache aus, dann wird die Datei entfernt und wird beim nächsten Aufruf wieder neu angelegt. Du hast also durch CSS-Aggregation mit Variante 1 immer nur einen einmaligen (und vermutlich kaum spürbaren) Nachteil, welcher dann erstmal eine Weile weg gecached wird. Dafür hast du eine saubere Lösung.
Übrigens, die CSS-Aggregation solltest du deaktivieren, wärend du am Theme herum schraubst und entwickelst, sonst werden natürlich deine Änderungen nicht angezeigt, weil die unveränderte Datei aus dem Cache verwendet wird. Dann müsstest du bei jeder CSS-Änderung den Cache leeren, das nervt mit der Zeit ;)
Danke sehr ausführlich
am 13.06.2011 - 01:53 Uhr
Tja jetzt bin ich überzeugt zu später Stunde ...
Ich werde Variante 1 nehmen und mir die Arbeit antun und alle CSS Änderungen in einer eigenen CSS eintragen und diese dann in die Info Datei schreiben.
Danke an alle für die guten Tipps zu diesem Thema. Wieder mal einen Schritt weiter im Know how des CSS.
Ich werde den Threat jetzt als gelöst markieren ...
lG
Markus
Aloemann