- Hints (PostPresenter::DIVI_NOTE, outline, catalog) and server instructions (tree_rev rule) name the Divi write tools; guides divi-shortform and divi-placeholders, additions to divi-structure, divi-attrs, overview (tool groups, 'nur lesen'), workflows, content-types. - D7 wording and the S7 exception in readme, guides and spec 1.3/5.2; readme 0.3.0. - ToolNamingTest: every referenced guide topic exists; overview lists exactly the topics. - tests/Integration/divi-write-smoke.sh: all write tools via OAuth, editor without unfiltered_html with benign probes (S6), Divi's own save filters on the new fixture synthetic-divi-filters.html (S7); admin-render.php accepts the new wrap class. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
3.6 KiB
Divi-Einstellungen (Vollform)
Jedes Divi-5-Modul speichert seine Einstellungen unter Attributpfaden, z. B.
title.innerContent– Text der Überschrift,title.decoration.font.font– Schrift der Überschrift (Farbe, Größe, EbeneheadingLevel),button.innerContent– Beschriftung und Link eines Buttons (text,linkUrl,linkTarget),module.decoration.background– Hintergrund,module.decoration.spacing– Innen-/Außenabstand,module.meta.adminLabel– Admin-Label im Divi-Builder.
Der Wert eines Pfads ist eine Zuordnung Breakpoint → Zustand → Wert:
{ "desktop": { "value": { "color": "#1a1a1a", "headingLevel": "h2" }, "hover": { "color": "#000000" } },
"phone": { "value": { "size": "28px" } } }
Breakpoints: desktop, tablet, phone (je nach Website auch tabletWide, phoneWide, widescreen,
ultraWide); Zustände: value, hover, sticky.
Setzen
In attrs (bei lit-divi-insert je Knoten, bei lit-divi-update je Änderung) steht Pfad → Wert je Breakpoint.
Kurz: {"desktop": "#1a1a1a", "phone": "…"} bzw. bei Objektwerten {"desktop": {"size": "28px"}}; Hover und
Sticky: {"hover": {…}} bzw. {"desktop": {"value": {…}, "hover": {…}}}. Nur die genannten Breakpoints
werden ersetzt, der Rest bleibt; null entfernt einen Pfad, Breakpoint oder Zustand:
{ "id": "s0.r0.c1.m0",
"attrs": { "title.decoration.font.font": { "desktop": { "color": "{{color:heading}}" },
"phone": { "size": "28px" } },
"module.decoration.spacing": null } }
Ein Objektwert ersetzt den bisherigen Wert dieses Breakpoints ganz (Unterschlüssel werden nicht
zusammengeführt): z. B. bei module.decoration.sizing einer Spalte flexType immer mitschicken (siehe
divi-shortform).
Unbekannte Pfade → Fehler invalid_attr_path mit Vorschlägen unter fields. Texte werden bereinigt
(HTML nur, wo Divi Rich-Text erwartet; Links ohne javascript:). $variable-Verweise werden geparst,
geprüft und vom Plugin neu erzeugt (siehe divi-placeholders). Eigenes HTML, CSS und HTML-Attribute
(…decoration.attributes, …advanced.html, …css…) nur mit dem Recht unfiltered_html, sonst „nur im
Divi-Builder“. Unberührte Teile der Seite bleiben byte-identisch; Ausnahme: Divi selbst normalisiert Seiten
mit eigenen HTML-/Attribut-Feldern beim Speichern (Warnung in der Antwort, neue tree_rev gilt).
Pfade finden
lit-divi-catalogohnemodulelistet alle Module dieser Website; mitmodule(z. B."heading") alle gültigen Pfade dieses Moduls auf dieser Website (live aus Divi) und die Kurzform-Felder mit ihrem Pfad.path_kindsnennt die Feldart eines Pfads (text,richtext,code,url,image,color,enum,onoff,number,list,icon), soweit aus den Divi-Metadaten ableitbar. Bei einem zusammengesetzten Pfad (ein oder mehrere benannte Unterfelder unter einem Pfad, z. B.buttonOne.innerContentmittextundlinkUrl) ist der Eintrag stattdessen eine Zuordnung Unterfeld → Feldart ({"text": "text", "linkUrl": "url"}), soweit für die einzelnen Unterfelder ableitbar; fehlende Pfade oder Unterfelder gelten als unbekannt, statt eine Feldart zu raten.lit-divi-node-getzeigt die gesetzten Werte eines vorhandenen Knotens in genau dieser Form (attrs).- Schrift-Gruppen liegen eine Ebene tiefer:
…decoration.font.font,…decoration.bodyFont.body.font,…decoration.headingFont.h2.font,module.advanced.text.text. - Werte wie
$variable({…})$sind Verweise auf globale Farben, Variablen oder dynamische Inhalte – nicht durch feste Werte ersetzen (siehedivi-design-system).