Zitat von
zonky
Ja, das habe ich auch mit Interesse gelesen - allerdings fand ich das eigentlich nichts neues. Das 'Problem' dabei ist, dass man sich auch dran halten muss, CSS objektorientiert einzusetzen. Und das klappt eigentlich immer nur dann, wenn man sich vorher den Kopf macht, mögliche Strukturen anschaut, eine Farbwelt baut und die dann konsequent in einer CSS umsetzt.
Das machen aber die wenigsten - da bekomme ich viel zu oft kein semantisches CSS zu sehen, sondern abenteuerliche und schwer zu wartende Konstrukte, bei denen die Farben (und auch andere Sachen) großzügig über dutzende von Dateien verteilt sind.
Man muss halt strikt durchorganisiert mit .class arbeiten ... dann macht das 'cascading' in CSS auch erst richtig Sinn.
Zitat von
zonky
Wo sehe ich ein "Problem":
im CSS werden diverse Farbangaben "hardverdrahtet" eingegeben, so dass bei einer Änderung des Farbschmema "zu Fuß" durch das CSS muss, um die Sache anzupassen...
Das Problem sehe ich eher - siehe oben - dabei, sowas halt nicht zu machen. Also von der Struktur her so zu arbeiten, dass man
Code:
.myred{
color:#AC000C}
.myblu{
color:#6288DD}
einmal festlegt, und dann diese .Classes nur zuweist. Dann hält sich das alles doch sehr in Grenzen, statt für jedes einzelne Element die Farbzuweisung jeweils individuell zu handhaben. Bedeutet im Vorfeld ein wenig mehr Arbeit, in der Anwendung dann aber sehr viel weniger.
Der Punkt ist, dass solch ein Vorgehen prinzipiell unabhängig von Contao ist - so arbeiten zu wollen ist etwas, dass im Kopf passiert. Man muss das einfach nur verstehen und tun, dann hat man das von Dir angeführte Problem gar nicht.
Zitat von
zonky
Man könnte sich ein Farbschema zusammenstellen mit Farbkennzeichnung (mein_blau_hell) und Farbwert (#A4ACF7) - könnte man sicher nett aufbohren mit Kästchen (50x50px) der Farbe oder Tool like Adobe-Kuler...
In den CSS Angaben könnten dann die Farben entweder als Auswahl zur Verfügung stehen oder auch im "CSS-Freitext" als Insert-Tag wie {{color::mein_blau_hell}}
Das nett aufzubohren könnte man machen - für mich wäre das allerdings mehr ein 'Goodie'. Wenn ich mal setze, dass eine Webseite maximal 20 Farbdefinitionen besitzt, dann fände ich es nett, in meiner colors.css das auch visualisiert zu bekommen. Notwendig finde ich es nicht.
Deinen InsertTag finde ich hingegen problematisch, weil es den objektorientierten Ansatz wieder auflöst, indem es die Funktionalität im CSS verschachtelt. Da möchte ich dann eben nicht im Code suchen, an welchen Stellen ich eine Farbe über einen InsertTag inkludiert habe. Die Anwendung einer Farbklasse gehört für mich eindeutig in den HTML-Teil (wo ich das Objekt 'Farbe', repräsentiert durch die Klasse .mycolor, auf einen semantischen HTML-Block anwende).
Zitat von
zonky
Weiterhin könnte man an eine "Zuweisung" der Farben an den TinyMCE auch denken oder die Erstellung verschiedener Schemata, auf die man im BE wechseln kann.
Das finde ich den allerproblematischsten Teil - eigentlich bin ich der Meinung, dass der MCE komplett rausgeworfen gehört, weil eine Formatierung dort einfach auf dieser Ebene nicht hingehört, die Übersicht erschwert und auch - bei größeren Projekten - die Wartung komplett unmöglich macht.
Ich bekomme manchmal sowas vorgesetzt, und ich finde es unendlich unübersichtich.
Wenn Du schon oben einen objektorientierten Ansatz ins Feld führst, dann solltest Du das auch stringent durchhalten. Nicht dem Text im Textelement eines Artikels noch die CSS-Attribute zuweisen sondern dem Artikel selbst (oder, über erweiterte Selektoren eben auch den Elementen innerhalb eines Artikels). Eigentlich bräuchte es dann nämlich nur die beiden Felder #id und .class.
Schön wäre es in diesem Zusammenhang, es komplett über Module regeln zu können. Bei den meisten Sachen klappt das (#id, .class). Bei einigen anderen Sachen klappt das leider zur Zeit nicht (da fällt mir ein, das sich gerne den Inhaltscontainern #wrapper,, #header, #container und so weiter gerne .Klassen zuweisen können möchte).
Und dabei fällt mir ein, dass ich mir das auch für das Inhaltslelement #Artikel tun können möchte und das Contao zur Zeit (noch) recht unzugänglich handhabt. Dann könnte ich nämlich - was ja der eigentliche Booster in HTML5 ist - vollständig frei sämtlichen Elementen Rollen zuweisen. Für mich der ultimative Turbo ... ;-)
Auf diese Art und Weise könnte man das 'Farbwahl-Problem' (und etliche andere auch) komplett erschlagen. Finde ich zielführender als an der von Dir vorgeschlagenenen noch eine Krücke dranzubasteln.
Ich hoffe, dass mein Geschreibsel einigermaßen verständlich ist ...
Carolina.
Lesezeichen