Templates konfigurabel

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Templates konfigurabel

Post by frase » Mon Oct 23, 2017 10:07 am

Hefte raus! Klassenarbeit! - Nein, Test.

Habe ein wenig experimentiert mit einem konfigurierbaren Template.
Geht schon ganz gut.
Dabei ist mir nun wieder aufgefallen, dass es doch schön wäre, wenn man ein Stylesheet mit Variablen haben könnte. (Wurde auch schon oft angefragt)
Jetzt, da die Variablen über die config.php verfügbar sind, warum dann nicht auch im CSS verwenden?
Gesagt - getan.
"stylesheet.css" vollständig geleert und den Inhalt in "stylesheet.css.php" eingefügt.
Dort "config.php" includiert.
Variablen festgelegt und dann bei den Regeln verwendet.
Funzt!
Problem TinyMCE - der kennt die "stylesheet.css.php" natürlich nicht.
Also in \plugins\tinymce4\init.php Zeile 215 geändert in: 'stylesheet.css.php', $temp
Funzt!
(Hier müsste evtl. noch eine Bedingung hin: wenn php vorhanden, dann die php, wenn nicht, dann die css)

Probleme gibt es noch mit der Login-Seite und der Druckansicht.

Schaut es euch bitte mal an.
Man kann u.A. die Schrift wechseln und die Highlight-Farbe.
Da ist noch viel möglich.

Download

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Templates konfigurabel

Post by frase » Mon Oct 23, 2017 11:04 am

Nachtrag:
Wahrscheinlich wäre es besser, in metaconfig.php den Typ für "colors" von "text" auf "string" zu ändern.

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Templates konfigurabel

Post by frase » Mon Oct 23, 2017 12:08 pm

Weiterer Nachtrag:
Die Anregung für DSS habe ich von hier:
http://www.webmasterpro.de/coding/artic ... sheet.html

Wichtig ist halt das "header('Content-type: text/css');" im CSS.php

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Templates konfigurabel

Post by cmb » Mon Oct 23, 2017 12:14 pm

frase wrote:Dabei ist mir nun wieder aufgefallen, dass es doch schön wäre, wenn man ein Stylesheet mit Variablen haben könnte. (Wurde auch schon oft angefragt)
Jetzt, da die Variablen über die config.php verfügbar sind, warum dann nicht auch im CSS verwenden?
Wenn wir das machen, dann sollten wir es aber auch gleich für die anderen Stylesheets tun – für Plugins wurde es ja auch schon angefragt. Ich bin aber nicht überzeugt davon, dass wir das umsetzen sollten. Für JS erscheint es bisweilen auch wünschenswert, aber ich komme eigentlich gut ohne Vorverarbeitung aus. Okay, bei CSS liegt die Sache etwas anders, aber die Unterstützung von CSS "Variablen" ist schon heute nicht schlecht – ist also nur eine Frage der Zeit bis diese "überall" funktionieren. Man könnte also in template.htm entsprechende custom properties gemäß der Konfiguration setzen (mit Fallback für ältere Browser, die diese nicht kennen), und dann in stylesheet.css verwenden.

Okay, das klappte nicht für die Editoren, aber da könnte man noch mal über die Inline-Varianten nachdenken. Bin nicht sicher, warum das noch nicht umgesetzt wurde; Argumente dafür gibt es jedenfalls.
frase wrote:Wahrscheinlich wäre es besser, in metaconfig.php den Typ für "colors" von "text" auf "string" zu ändern.
Oder doch noch mal über https://github.com/cmsimple-xh/cmsimple-xh/issues/57 nachdenken.
frase wrote:Wichtig ist halt das "header('Content-type: text/css');" im CSS.php
Plus vermutlich noch weitere Header – sonst cache't der Browser das stylesheet.css.php nicht.
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Templates konfigurabel

Post by frase » Mon Oct 23, 2017 12:36 pm

cmb wrote:Man könnte also in template.htm entsprechende custom properties gemäß der Konfiguration setzen (mit Fallback für ältere Browser, die diese nicht kennen), und dann in stylesheet.css verwenden.
Das wusste ich nicht, dass man die Properties im Template setzen und dann im Stylesheet verwenden kann.
Muss ich mir anschauen.
cmb wrote:aber da könnte man noch mal über die Inline-Varianten nachdenken. Bin nicht sicher, warum das noch nicht umgesetzt wurde
Inline-Bearbeitung fände ich auch super.

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Templates konfigurabel

Post by frase » Mon Oct 23, 2017 12:45 pm

frase
cmb wrote:
frase wrote:Wahrscheinlich wäre es besser, in metaconfig.php den Typ für "colors" von "text" auf "string" zu ändern.
Oder doch noch mal über https://github.com/cmsimple-xh/cmsimple-xh/issues/57 nachdenken.
Na ja, an dieser Stelle sind alle Schreibweisen für CSS-Farben erlaubt.
Inkl. rgba(x,x,x,.x) oder maroon oder ...
Wie willst du das in einer Selectbox festhalten.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Templates konfigurabel

Post by cmb » Mon Oct 23, 2017 1:22 pm

frase wrote:Das wusste ich nicht, dass man die Properties im Template setzen und dann im Stylesheet verwenden kann.
Muss ich mir anschauen.
Ausprobiert habe ich es nicht, aber grundsätzlich sollte nichts dagegen sprechen, dass man eben ein <style> Element im Template definiert.
frase wrote:Na ja, an dieser Stelle sind alle Schreibweisen für CSS-Farben erlaubt.
Inkl. rgba(x,x,x,.x) oder maroon oder ...
Wie willst du das in einer Selectbox festhalten.
Ich hatte eigentlich an ein <input type=color> gedacht, stelle aber nun fest, dass diese keine Alpha-Werte unterstützen. :roll:
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Templates konfigurabel

Post by frase » Mon Oct 23, 2017 1:39 pm

cmb wrote:Ich hatte eigentlich an ein <input type=color> gedacht, stelle aber nun fest, dass diese keine Alpha-Werte unterstützen.
Und man muss 7 Stellen setzen: #00000, keine Kurzform, keine Farbnamen ...

https://developer.mozilla.org/en-US/doc ... ault_color

Irrtum meinerseits. Der Farbwähler ist mir zu ungenau (Windows) - per Mouse.
Vielleicht kann man aber wirklich auf Alpha-Werte verzichten?

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Templates konfigurabel

Post by frase » Mon Oct 23, 2017 2:29 pm

Nochmal zu den "custom properties" (css variablen).
Ich habe vorläufig die Versuche damit aufgegeben, obwohl ich es spannend und - wenn es denn mal überall funktioniert - auch gut fände.
Grund:
Ich benutze als Haupt-Arbeitsgerät immer noch einen Rechner mit Win 8.1 und nicht 10.
Und in meinem Umfeld gibt es nicht wenige, bei denen das ebenso ist. (Gründe gibt es handfeste)
Unter 8.1 läuft eben nur IE 11 und nicht Edge - und IE 11 kann mit den Variablen nicht umgehen.
Ein Fallback für solche Browser machte die dynamische Template-Änderung dann völlig witzlos.

Und überhaupt finde ich es gar nicht so schlecht, das serverseitig zu machen und nicht beim Clienten.
Ich bin ja schon froh, dass es wie in meinem Beispiel überhaupt funktioniert - browserunabhängig.
Und am Core müsste überhaupt nichts geändert werden.
Lediglich die init.php des Tiny (und evtl. entsprechend für den CKE) müsste halt schauen, ob die stylesheet.css als CSS-Datei oder as PHP-Datei vorliegt und dann die entsprechende laden.
Das müsste dann auch prinzipiell für Plugins und alles andere, was die Editoren verwendet, funktionieren.
Das ist eigentlich "ein Klacks".

Mit der "Cacherei", das muss ich noch genauer nachlesen.

---
Bei <input type=color> bin ich meiner eigenen Verwirrung erlegen :oops:
Ich glaube jetzt, dass ich es verstanden habe und fände einen Farbwähler gar nicht so schlecht.
Vielleicht sollte issue 57 nochmal aufleben?

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Templates konfigurabel

Post by frase » Tue Oct 24, 2017 2:42 pm

Frage an Experten:
Wie kann ich feststellen, ob eine PHP-CSS-Datei im Browser gecached wurde?
Ich kann in den diversen Konsolen nichts finden - oder gucke falsch ... :oops:

Post Reply