- 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.2 KiB
3.2 KiB
Divi-Seiten: Aufbau lesen
Divi 5 speichert eine Seite als Block-Markup: Abschnitte (section) enthalten Zeilen (row), Zeilen
Spalten (column), Spalten Module (text, heading, button, …). Manche Module haben Kind-Module
(accordion → accordion-item). Die Divi-Werkzeuge gibt es nur, wenn der Divi-5-Builder aktiv ist.
Seitenbaum
lit-divi-outlinemitpost_idliefert jeden Knoten mit Pfad-ID, Modultyp, Admin-Label, Textauszug, Layout-Info (z. B.Spalten 8_24+16_24) und Preset-Namen – als kompakten Text (outline) und als Liste (nodes). Mitidnur ein Teilbaum, mitdepthbegrenzte Tiefe.- Pfad-IDs:
s0= erster Abschnitt,s0.r1= zweite Zeile darin,s0.r1.c0= erste Spalte,s0.r1.c0.m2= drittes Modul,…m2.m0= erstes Kind-Modul.g= globales Modul,x= fremder Block (z. B. aus dem Block-Editor). Gezählt wird je Buchstabe innerhalb des Elternknotens. lit-divi-node-getmitpost_idundidliefert alle Einstellungen eines Knotens (siehedivi-attrs), die aktuellen Kurzform-Werte (shortform) und die IDs der Kinder.
Stand und Sperre
tree_revist der Stand des Seiteninhalts. Pfad-IDs gelten nur für diesen Stand – ändert jemand die Seite (auch im Divi-Builder), verschieben sich die IDs. Divi-Änderungen verlangen deshalb immer dietree_revdes letzten Lesevorgangs.revist davon getrennt: der Stand des ganzen Eintrags (Titel, Auszug, Status …) fürlit-content-update.
Ändern
Neue Inhalte und Änderungen: siehe divi-shortform (Kurzform, lit-divi-insert, lit-divi-update,
lit-divi-move, lit-divi-delete), divi-attrs (Vollform) und divi-placeholders. Ablauf:
lit-divi-outlinelesen (lieferttree_rev),lit-divi-design-systemfür Farben, Variablen, Presets.- Änderung mit dieser
tree_revsenden. Die Antwort enthält die neuetree_revund die neuen Pfad-IDs – damit direkt weiterarbeiten, ohne erneut zu lesen. rev_mismatch: jemand hat die Seite inzwischen geändert (z. B. im Divi-Builder) → neu lesen.- Zum Schluss
lit-page-render-summaryprüfen und dem Nutzer die Vorschau (preview_url) bzw. den Divi-Builder (edit_url) nennen. Der Status bleibt unverändert; veröffentlichte Seiten werden live geändert (vorher entsteht eine Revision,revision_id).
Was nicht bearbeitet wird
- Knoten mit „nur lesbar“ (globale Module
g…, fremde Blöckex…) lassen sich nur als Ganzes verschieben, duplizieren oder löschen; ihr Inhalt wird im Divi-Builder bearbeitet (globale Module folgen später).lit/divi-replace-textändert sie nicht, sondern nennt sie inskipped_nodes. - Divi-4-Inhalt (Shortcodes
[et_pb_…]) wird nicht gelesen oder geändert: Seite einmal im Divi-Builder öffnen und speichern, Divi 5 wandelt sie dabei um. - Ist das Markup beschädigt, lehnen die Werkzeuge ab (
unsupported); die Seite im Divi-Builder öffnen und speichern.
Ergebnis prüfen
lit-page-render-summary rendert den Inhaltsbereich wie im Frontend und listet Überschriften, Texte, Links
und Bilder samt Warnungen (Sprünge in der Überschriftenhierarchie, fehlende Alt-Texte, Links ohne Ziel).
Header, Footer und Theme-Builder-Vorlagen sind nicht enthalten.