Theme¶
Unter System-Administration → Erscheinungsbild → Theme passt du das Erscheinungsbild von KCForms an: Farben, Schriften und Größen, eigenes CSS und die Bilder, die Formulare und Druckvorlagen verwenden. Die Seite hat drei Reiter: Parameter, CSS und Bilder / SVG.
Wo das Theme wirkt¶
| Bereich | Wirkung |
|---|---|
| Oberfläche | Anwendung, Formular-Editor, System-Administration, Anmeldeseite und Web-Link-Seiten — über das Stylesheet /api/theme/runtime.css |
| Formulare | Eingabefelder, Schaltflächen, Tabellen usw. nutzen dieselben Werte |
Schrift (font:pdf.family), Markenfarbe, Textfarbe, Tabellenrahmen und Kopf der Detail-Tabellen |
Änderungen wirken nach dem Neuladen der Seite im Browser.
Semantische Farben bleiben fest
Farben mit fester Bedeutung — etwa rote Fehlerrahmen oder grüne Erfolgsmeldungen — richten sich bewusst nicht nach der Markenfarbe, damit ihre Bedeutung erhalten bleibt. Anpassbar sind sie über die Kategorie Status-Farben bzw. eigenes CSS.
Reiter „Parameter"¶
Links stehen die Kategorien mit der Zahl ihrer Werte, rechts die Werte der gewählten Kategorie:
| Kategorie | Inhalt |
|---|---|
| Buttons | Primär-, Sekundär- und Lösch-Schaltflächen: Hintergrund, Text, Rahmen, Hover |
| DatePicker | Farben des Kalenders (heute, ausgewählt, Wochenende, Bereich) |
| formstudio | Rahmenfarbe der Vorschau im Formular-Editor |
| Hintergrund / Rahmen | Seiten-, Panel- und Eingabe-Hintergründe, Rahmenfarben, Rundungen |
| Marke | Primär-/Sekundärfarbe, Link- und Textfarben |
| Schrift | Standard- und Monospace-Schrift, Größen, Fettgewicht |
| Schriften | Schrift des PDF-Ausdrucks |
| Status-Farben | Erfolg / Warnung / Fehler / Info — jeweils Farbe und Hintergrund |
| Tabellen | Kopf, Zebra-Streifen, Hover, Rahmen, Kopf der Detail-Tabellen |
| verhalten | Darstellung schreibgeschützter Felder: hervorgehoben, schlicht oder gerahmt |
Jeder Wert zeigt Beschriftung und Schlüssel (z. B. color:button.primary.bg).
Das Eingabefeld passt sich der Art an: Farben mit Farbwähler und Hex-Feld,
Schriften mit Live-Vorschau, Schalter als Auswahl, Zahlen und Texte als
Eingabefeld.
Gespeichert wird automatisch beim Verlassen des Feldes — ein kleiner Hinweis am Eintrag zeigt „speichere …" und danach „✓".
PDF-Schrift¶
Bei der PDF-Schrift (font:pdf.family, Kategorie Schriften) wählst du
zwischen Inter (Standard), Roboto, Lato, Source Sans 3 und
Open Sans — alle mitgeliefert und ins PDF eingebettet — sowie
Helvetica (ohne eingebettete Schrift, nur westeuropäische Zeichen). PDF-Vorschau erzeugt ein kleines Muster-PDF mit der gewählten
Schrift. Eine Druckvorlage mit eigener
Schrift hat Vorrang. Welche Zeichen die Schriften abdecken, steht unter
Sprachen.
Reiter „CSS"¶
Ein Editor für eigenes CSS (Speichern mit Strg + S oder
Speichern). Das CSS der Datei default wird als letztes Stylesheet
geladen (/api/theme/admin.css) und überstimmt damit die eingebauten
Stile — auch in Formularen.
Die Bedienelemente tragen feste Klassen, an denen eigenes CSS ansetzen kann, z. B.:
| Klasse | Element |
|---|---|
.kc-input |
Eingabefelder — auch die Felder in Formularen und Detail-Tabellen |
.kc-btn |
Schaltflächen (Varianten wie .kc-btn--primary) |
.kc-label |
Feldbeschriftungen |
.kc-card |
Kästen und Panels |
.kc-alert |
Hinweisboxen |
/* Beispiel: Eingabefelder etwas höher und mit deutlicherem Rahmen */
.kc-input { min-height: 2.5rem; border-width: 2px; }
Mit Bedacht einsetzen
Eigenes CSS wirkt auf alle Seiten und Formulare und kann Layouts verschieben. Änderungen erst auf einem Testsystem ausprobieren. Für Farben und Größen sind die Parameter der sicherere Weg.
Reiter „Bilder / SVG"¶
Hier verwaltest du Bilder (PNG, JPG, GIF, WEBP) und SVG-Grafiken für
Druckvorlagen, Kopf- und Fußzeilen sowie kc:image / kc:svg in Formularen
(höchstens 50 MB je Datei):
- Hochladen — eine Datei gleichen Namens wird überschrieben.
- Liste mit Vorschau, Dateiname, Größe und Änderungsdatum; Mehrfachauswahl zum Löschen.
- Transport — ausgewählte Dateien an ein Zielsystem schicken (erst unter Transport ein Zielsystem anlegen). Beim Formular-Transport reisen die verwendeten Bilder ohnehin mit.
Datenmodell¶
| Tabelle | Inhalt |
|---|---|
theme_param |
die Parameter (Schlüssel, Wert, Art, Kategorie, Beschriftung, Reihenfolge) |
theme_css |
die CSS-Dateien (Schlüssel, Beschriftung, Inhalt) |
Beim Start ergänzt KCForms fehlende Parameter mit ihrem Standardwert und aktualisiert Beschriftungen und Kategorien. Gesetzte Werte bleiben erhalten.
Das Theme wird nicht transportiert — so bleiben DEV, QS und PROD optisch unterscheidbar (z. B. mit einer anderen Markenfarbe).
Schnittstelle¶
Nur für Administratoren:
| Methode | Pfad | Beschreibung |
|---|---|---|
| GET | /api/admin/theme/params |
alle Parameter, gruppiert nach Kategorie |
| GET | /api/admin/theme/params/flat |
alle Parameter als Liste |
| PUT | /api/admin/theme/params/{id} |
Wert setzen, Body { "value": "..." } |
| GET | /api/admin/theme/css |
Liste der CSS-Dateien |
| GET | /api/admin/theme/css/{id} |
eine CSS-Datei mit Inhalt |
| PUT | /api/admin/theme/css/{id} |
Inhalt setzen, Body { "content": "..." } |
| GET | /api/admin/theme/font-preview |
Muster-PDF der PDF-Schrift |
Öffentlich (ohne Anmeldung, auch für die Anmeldeseite):
/api/theme/runtime.css (Parameter als CSS-Variablen) und
/api/theme/admin.css (eigenes CSS).