Der Konfigurator soll aussehen wie dein Shop: Farben, Schrift, Ecken, die Optik der Auswahlfelder. Das alles passt du mit CSS an, ganz ohne JavaScript. Diese Seite gilt für die Frontend-Engine V3. Legacy erzeugt anderes HTML, dort greifen die Variablen und Klassen unten nicht.
Was der Konfigurator schon vom Shop übernimmt
In einem Shop – über ein Shop-Plugin oder das HTML-Snippet – übernimmt der Konfigurator Schrift, Schriftgröße und Textfarbe von deinem Theme. Dafür musst du nichts tun. Anpassen musst du nur, was der Konfigurator selbst mitbringt: Akzentfarbe, Rahmen, Hintergründe, Ecken.
Bindest du ihn mit data-configento-embed-mode="admin-preview" ein, zeigt er Titel, Preis und Zusammenfassung selbst und nutzt auch für Texte seine eigenen Farben. Die Schrift erbt er auch dann von der Seite.
Wo dein CSS hingehört
Du hast zwei Orte:
- Das Theme deines Shops – richtig, wenn alle Konfiguratoren gleich aussehen sollen.
- Benutzerdefiniertes CSS in den Komponenten-Einstellungen unter Design – richtig für eine einzelne Komponente. Es wird mit dem Konfigurator geladen, im Shop und in der Vorschau im Admin.
Schreibe vor Regeln für einzelne Elemente [data-configento], z. B. [data-configento] .cfg-toggle-item__price. Der Konfigurator lädt sein eigenes CSS nach deinem Theme; mit dem Zusatz gewinnt deine Regel trotzdem. Für die Variablen unten ist das nicht nötig.
Farben, Schrift und Ecken
Die einfachste Anpassung: Variablen auf :root setzen. Sie wirken im ganzen Konfigurator und auch in der Bild-Großansicht und den Info-Fenstern, die außerhalb des Konfigurators geöffnet werden.
:root {
--configento-color-accent: #1d3c78;
--configento-color-border: #c8d0e0;
--configento-radius-md: 0;
}
| Variable | Standard | Wirkt auf |
|---|---|---|
--configento-color-accent |
#2563eb |
Gewählte Werte, Radio Buttons und Checkboxen, gewählte Bilder, aktiver Reiter, Fortschrittsbalken, Weiter-Button, Aktions-Button, Links in Texten |
--configento-color-accent-fg |
#ffffff |
Text auf Flächen in der Akzentfarbe, z. B. im Weiter-Button |
--configento-color-accent-soft |
#dbeafe |
Helle Hinterlegung in der Akzentfarbe, z. B. beim aktiven Reiter |
--configento-color-border |
#e2e8f0 |
Rahmen und Trennlinien |
--configento-color-border-strong |
#868f9e |
Rahmen von Eingabefeldern, Buttons und Bildkacheln |
--configento-color-bg |
#ffffff |
Hintergrund des Konfigurators |
--configento-color-bg-subtle |
#f8fafc |
Leicht abgesetzte Flächen |
--configento-color-bg-elevated |
#ffffff |
Gruppen, Auswahllisten, Buttons und Fenster |
--configento-color-fg |
#0f172a |
Text – nur mit admin-preview, im Shop kommt er vom Theme |
--configento-color-fg-muted |
#64748b |
Nebentexte – nur mit admin-preview |
--configento-color-error |
#b91c1c |
Fehlermeldungen und fehlerhafte Felder |
--configento-color-error-soft |
#fee2e2 |
Helle Hinterlegung von Fehlern |
--configento-color-success, --configento-color-success-soft |
#059669, #d1fae5 |
Erfolgsmeldungen |
--configento-color-warning, --configento-color-warning-soft |
#b45309, #fef3c7 |
Warnungen |
--configento-radius-sm, -md, -lg |
4px, 8px, 12px |
Ecken: kleine Elemente, Felder und Kacheln, Fenster |
--configento-font-family |
Schrift der Seite | Schrift – nur nötig, wenn der Konfigurator eine andere Schrift als die Seite haben soll |
--cfg-value-image-size |
40px |
Größe der Bilder in den Zeilen von Radio Buttons und Checkboxen |
Die Namen dieser Variablen bleiben in allen 3.x-Versionen gleich.
Aktivfarbe und Primärfarbe: Die Akzentfarbe eines Konfigurators kommt aus der ersten Quelle, die gesetzt ist:
- die Aktivfarbe der Komponente (Komponenten-Einstellungen → Design),
--configento-color-accentaus deinem CSS,- die Primärfarbe unter Einstellungen → Branding – sie gilt auch für PDFs und E-Mails,
- das Standard-Blau
#2563eb.
Für eine einheitliche Farbe in allen Komponenten reicht also die Primärfarbe im Branding. Die Aktivfarbe brauchst du nur, wenn eine Komponente abweichen soll; sie gilt dann auch statt deines CSS.
Andere Schrift: Soll der Konfigurator eine andere Schrift als die Seite nutzen, setze sie am Element mit data-configento. Die Schrift muss auf der Seite geladen sein, etwa über dein Theme.
[data-configento] { font-family: 'Source Sans 3', sans-serif; }
Einzelne Elemente gestalten
Für Gestaltung über die Variablen hinaus gibt es Klassen und Attribute, die wir zusagen: Sie bleiben in allen 3.x-Versionen gleich, eine Änderung gibt es nur mit einer neuen ersten Versionsstelle. Andere Klassen und die übrige HTML-Struktur können sich ändern.
Rahmen jedes Merkmals
| Klasse / Attribut | Element |
|---|---|
.cfg-char |
Das ganze Merkmal. Trägt auch die Klassen aus dem Feld CSS-Klasse des Merkmals. |
[data-configento-char-id], [data-configento-char-type] |
Am selben Element: ID und Datentyp des Merkmals, z. B. radiobuttons, checkbox, text, area, select |
[data-configento-invalid] |
Am selben Element, solange eine Fehlermeldung angezeigt wird |
.cfg-char__head |
Kopfzeile mit Titel |
.cfg-char__title |
Titel |
.cfg-char__required |
Pflichtfeld-Stern im Titel |
.cfg-char__info |
Infotext unter dem Titel |
.cfg-char__body |
Das Eingabeelement mit allem, was dazugehört |
.cfg-char__errors, .cfg-char__error |
Liste der Fehlermeldungen und jede einzelne Meldung |
.cfg-char-disabled |
Umschließt ein Merkmal, das eine Regel sperrt, wenn Durch Regeln gesperrte Werte auf Deaktiviert anzeigen steht. Das Merkmal ist dann ausgegraut und nicht bedienbar. |
Radio Buttons und Checkboxen
| Klasse / Attribut | Element |
|---|---|
.cfg-toggle-list |
Liste aller Werte |
.cfg-toggle-item mit [data-configento-value-id] |
Ein Wert, mit seiner ID |
.cfg-toggle-item__label |
Das label um die ganze Zeile. Das input (type="radio" bzw. type="checkbox") ist sein direktes Kind. |
.cfg-toggle-item__image |
Bild des Werts |
.cfg-toggle-item__text |
Text-Block mit Bezeichnung und Infotexten |
.cfg-toggle-item__label-text |
Bezeichnung des Werts |
.cfg-toggle-item__info |
Infotext des Werts |
.cfg-toggle-item__price |
Aufpreis |
.cfg-toggle-item__info-trigger |
Der (i)-Knopf, hinter dem der Infotext des Werts steht, wenn am Merkmal Tooltip für Werte aktivieren an ist |
[data-configento-disabled] |
Am .cfg-toggle-item und an den Bildkacheln einer Liste mit Bildern, wenn eine Regel den Wert sperrt und Durch Regeln gesperrte Werte auf Deaktiviert anzeigen steht |
Den gewählten Zustand erreichst du über das input, z. B. .cfg-toggle-item__label:has(input:checked). Lange Bezeichnungen brechen mit Silbentrennung um, der Aufpreis bleibt in einer Zeile. Die Bildgröße stellst du mit --cfg-value-image-size ein.
Eingabefelder und Auswahllisten
| Klasse | Element |
|---|---|
input.cfg-input |
Einzeiliges Eingabefeld |
textarea.cfg-textarea |
Mehrzeiliges Eingabefeld |
select.cfg-select |
Auswahlliste |
Kombiniertes Bild in der 360°-Ansicht
| Klasse | Element |
|---|---|
.cfg-combined-image--rotating |
Das drehbare kombinierte Bild |
.cfg-combined-image__progress |
Ladeanzeige, solange die Bilder laden. Ihre Farbe kommt aus der Ladeanimationsfarbe der Komponente. |
.cfg-combined-image__hint |
Hinweis „360°-Ansicht – zum Drehen ziehen“, bis der Kunde das Bild zum ersten Mal dreht |
Reicht CSS nicht, weil ein Merkmal ganz anders aussehen und sich anders verhalten soll – etwa als Kfz-Kennzeichen –, zeichnest du es mit einer eigenen Darstellung per JavaScript.
Ein bestimmtes Merkmal sprichst du am einfachsten über eine eigene Klasse an: Trag sie im Editor im Feld CSS-Klasse des Merkmals ein, sie landet am Element .cfg-char.
Felder nebeneinander
Mit den Spalten-Klassen stellst du Merkmale einer Gruppe nebeneinander, etwa Vorname und Nachname in eine Zeile. Trag die Klasse im Editor im Feld CSS-Klasse des Merkmals ein. Eigenes CSS brauchst du dafür nicht.
| Klasse | Breite |
|---|---|
cfg-col-3 |
Ein Viertel der Zeile |
cfg-col-4 |
Ein Drittel |
cfg-col-6 |
Die Hälfte |
cfg-col-8 |
Zwei Drittel |
cfg-col-12 |
Die ganze Zeile |
- Die Merkmale füllen die Zeile in ihrer Reihenfolge in der Gruppe. Zwei Merkmale mit
cfg-col-6hintereinander stehen in einer Zeile. - Merkmale ohne Spalten-Klasse in derselben Gruppe nehmen die ganze Zeile ein.
- Ist die Gruppe schmaler als 480 Pixel, etwa auf dem Smartphone, stehen alle Merkmale wieder untereinander.
- Die Klassen wirken nur in Gruppen, die mindestens eine davon nutzen. Gruppen ohne Spalten-Klasse und Breiten aus deinem Theme (z. B. Magentos
grid12-6) bleiben unverändert. - Nur mit der Frontend-Engine V3.
Beispiele
Eigene Radio Buttons – Kreis per CSS statt Browser-Standard, gewählte Zeile hervorgehoben:
[data-configento] [data-configento-char-type="radiobuttons"] .cfg-toggle-item__label > input {
appearance: none;
width: 1.25rem;
height: 1.25rem;
border: 2px solid var(--configento-color-accent);
border-radius: 50%;
}
[data-configento] [data-configento-char-type="radiobuttons"] .cfg-toggle-item__label > input:checked {
background: radial-gradient(var(--configento-color-accent) 45%, transparent 50%);
}
[data-configento] .cfg-toggle-item__label:has(input:checked) {
background: var(--configento-color-accent-soft);
}
Setze dafür --configento-color-accent und --configento-color-accent-soft auf :root, wie oben gezeigt.
Fehler deutlicher zeigen:
[data-configento] .cfg-char[data-configento-invalid] .cfg-char__title { color: var(--configento-color-error); }
[data-configento] .cfg-char[data-configento-invalid] .cfg-input { border-color: var(--configento-color-error); }
Aufpreise ausblenden, etwa wenn dein Shop sie anders zeigt:
[data-configento] .cfg-toggle-item__price { display: none; }
Größere Bilder an den Werten und gesperrte Werte schwächer zeigen:
:root { --cfg-value-image-size: 64px; }
[data-configento] .cfg-toggle-item[data-configento-disabled] { opacity: 0.4; }
Fehlersuche
| Problem | Ursache und Lösung |
|---|---|
| Deine Regel wirkt nicht | Der Konfigurator lädt sein CSS nach deinem Theme. Schreibe [data-configento] vor den Selektor. |
| Farbe wirkt im Konfigurator, nicht aber in der Bild-Großansicht | Die Variable steht auf einem Element statt auf :root. Die Großansicht öffnet außerhalb des Konfigurators. |
| Akzentfarbe aus dem CSS wird ignoriert | In der Komponente ist eine Aktivfarbe gesetzt. Leere das Feld. |
| Textfarbe ändert sich nicht | Im Shop kommt die Textfarbe vom Theme. --configento-color-fg wirkt nur mit admin-preview. |
| Nach dem Umstellen auf V3 sieht alles anders aus | Legacy hat andere Klassen. Baue dein CSS mit den Variablen und Klassen dieser Seite neu auf und prüfe es in der Vorschau. |
Nächste Schritte
- Komponenten-Einstellungen – Aktivfarbe und benutzerdefiniertes CSS
- HTML-Snippet-Integration
- JavaScript-Schnittstelle (V3) – wenn du über die Optik hinaus eingreifen willst
- Frontend-Engine: Legacy oder V3