docs
TYPO3 v14
Konfiguration  /  Das Backend-Modul Yavi Theme

06 — Das Backend-Modul Yavi Theme

Alles, was eine Site ohne TypoScript konfigurieren kann, liegt in einem Modul, unterhalb von Site-Management im Modulmenü. Es ist Administratoren vorbehalten.

text
Yavi Theme
├── Design / Colors    Markenfarben, Statusfarben, Verläufe                27 Felder
├── Layout             Logo, Abstände, Containergrößen, Typografie        37 Felder, 7 Reiter
├── Navigation         Variante, Verhalten, Größen, Sprache, Suche        13 Felder, 4 Reiter
├── Custom CSS         die CSS-Klassen, die die Redaktion je Element wählen darf   1 Feld
├── Config             Site, Kontakt, Social, Tracking                    20 Felder, 4 Reiter
├── Go-Live-Check      die klassischen Startfehler, geprüft               keine Einstellungen
└── Licence            Schlüssel und Status                               2 Felder
!
Das Modul Yavi Theme ist durchgehend englisch beschriftet: Seitennamen, Reiter und Feldnamen tragen keine Übersetzung. Sie stehen deshalb auch hier auf Englisch, genau so, wie sie im Backend erscheinen.

Jedes Logo-Feld liegt auf der Seite Layout, im Reiter Logo — einschließlich der beiden mobilen Höhen und der Höhe, auf die das Logo schrumpft, wenn der Header es tut. Früher waren sie über Layout und Config verteilt, was hieß, dass eine Logoänderung drei Besuche auf zwei Seiten kosten konnte.

Die gesamte Navigation hat eine eigene Seite. Zuvor waren es zwei Reiter, die beide Navigation hießen, einer unter Layout und einer unter Config, und sie steuerten einander: Der Schalter, der den Header schrumpfen lässt, lag auf der einen Seite, die Höhe, auf die er schrumpft, auf der anderen.

Wie es arbeitet

Jede Seite zeigt die Einstellungen ihrer eigenen Kategorie und schreibt sie nach config/sites/<id>/settings.yaml. Drei Eigenschaften sind wissenswert, weil sie den größten Teil des Verhaltens erklären:

1. Das Speichern ist auf die Seite begrenzt. Die Seite Layout kann immer nur Layout-Einstellungen schreiben. Ein Schlüssel einer anderen Seite, in die Anfrage eingeschmuggelt, wird abgewiesen. Eine Seite kann die Werte einer anderen also nie löschen.

2. Leer heißt „erben“, nicht „nichts“. Ein Feld zu speichern, das dem Vorgabewert entspricht, entfernt den Schlüssel aus der settings.yaml, statt ihn abzulegen. Sonst gewänne ein gespeicherter Wert für immer gegen das Set des Themes, und ein Themewechsel bliebe bei jedem je angefassten Feld wirkungslos.

3. Das Speichern leert den Seiten-Cache. Änderungen wirken sofort und nicht erst beim nächsten regulären Ablauf des Caches.

Das Formular lesen

Die Seite Layout: Reiter über die Breite, und jedes Feld zeigt sein Token, sein Badge und seine Erklärung
Die Seite Layout: Reiter über die Breite, und jedes Feld zeigt sein Token, sein Badge und seine Erklärung

Jedes Feld trägt drei Hinweise:

ElementBedeutung
Die farbige Leiste linksGruppiert die Felder optisch; die Farbe wechselt zyklisch und hat keine eigene Bedeutung.
Das Token (H1, XS, Hf)Kurzzeichen des Feldes — die Überschriftsebene oder Größenstufe, zu der es gehört.
Das Badgetheme = leer, es gilt also der Wert des Themes · fixed = ein fester Wert ist gesetzt · fluid = der Wert nutzt clamp()

Die Site-Auswahl oben rechts wechselt zwischen den Sites, wenn die Installation mehr als eine hat. Die Speicherleiste unten erscheint, sobald sich etwas ändert; ⌘S / Strg+S speichert.

Die Seiten

Eine Tabelle aller 100 Einstellungen, Feld für Feld, steht in der Referenz der Einstellungen.

Was das Modul nicht tut

Wo die Werte landen

yaml
# config/sites/<id>/settings.yaml — vom Modul geschrieben
plugin.bootstrap_package.settings.scss.primary: '#0D2A5C'
page.theme.cssvar.navbarHeight: 125px
page.theme.cssvar.cardRadius: 12px
licence.key: 'XXXX-XXXX-XXXX'
licence.product: yavi-lucerne

Zwei Arten von Schlüssel erscheinen hier:

PräfixGeht an
plugin.bootstrap_package.settings.scss.*die SCSS-Variablen des Bootstrap Package — sie werden ins Stylesheet kompiliert.
page.theme.cssvar.*CSS Custom Properties, beim Rendern in den Seitenkopf geschrieben.

Der Unterschied zählt in der Praxis: Eine Änderung an einer SCSS-Variablen braucht einen Cache-Flush, damit neu kompiliert wird; eine Änderung an einer Custom Property wirkt beim nächsten Seitenaufruf.