feat: short-form level for every module with a heading title (trial)

contact-form, cta, toggle, accordion-item, slide, number-counter and
team-member (name) take level like heading/blurb; paths from Divi's
conversion outlines, checked live with divi-shortform-check.php. A test
keeps the guide's field table in sync with ShortformMap.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
This commit is contained in:
2026-09-26 19:20:23 +02:00
co-authored by Claude Opus 5.5
parent 37ecb036ba
commit 26108bc9a9
3 changed files with 69 additions and 10 deletions
+22 -2
View File
@@ -166,6 +166,7 @@ final class ShortformMap
'content' => $content,
'button_text' => $buttonText,
'button_url' => $buttonUrl,
'level' => $level,
]),
'icon' => self::module(null, [
'url' => self::field('icon.innerContent', 'url', 'url', 'Linkziel'),
@@ -190,12 +191,28 @@ final class ShortformMap
'content' => $content,
'image_id' => $media('image.innerContent', ['url', null, null], 'Foto aus der Mediathek'),
'image_url' => self::field('image.innerContent', 'url', 'url', 'Foto-URL'),
'level' => self::field(
'name.decoration.font.font',
'headingLevel',
'level',
'Überschriftenebene des Namens h1–h6'
),
]),
'accordion' => self::module(null, [], 'accordion-item'),
'accordion-item' => self::module('title', ['title' => $title, 'content' => $content, 'open' => $open]),
'accordion-item' => self::module('title', [
'title' => $title,
'content' => $content,
'open' => $open,
'level' => $level,
]),
'tabs' => self::module(null, [], 'tab'),
'tab' => self::module('title', ['title' => $title, 'content' => $content]),
'toggle' => self::module('title', ['title' => $title, 'content' => $content, 'open' => $open]),
'toggle' => self::module('title', [
'title' => $title,
'content' => $content,
'open' => $open,
'level' => $level,
]),
'gallery' => self::module('image_ids', [
'image_ids' => self::field('image.advanced.galleryIds', null, 'ids', 'Anhang-IDs, z. B. [12, 33]'),
]),
@@ -208,9 +225,11 @@ final class ShortformMap
'image_id' => $media('image.innerContent', ['src', null, 'alt'], 'Bild aus der Mediathek'),
'src' => self::field('image.innerContent', 'src', 'url', 'Bild-URL'),
'alt' => self::field('image.innerContent', 'alt', 'text', 'Alt-Text'),
'level' => $level,
]),
'contact-form' => self::module(null, [
'title' => $title,
'level' => $level,
'email' => self::field('email.advanced.receiver', null, 'text', 'Empfänger (leer = Admin-E-Mail)'),
'success_message' => self::field('module.advanced.successMessage', null, 'text', 'Text nach Absenden'),
'submit_text' => self::field('button.innerContent', 'text', 'text', 'Beschriftung Absenden'),
@@ -244,6 +263,7 @@ final class ShortformMap
'number' => self::field('number.innerContent', null, 'text', 'Zahl'),
'title' => $title,
'percent' => self::field('number.advanced.enablePercentSign', null, 'onoff', 'Prozentzeichen anzeigen'),
'level' => $level,
]),
'social-media-follow' => self::module(null, [], 'social-media-follow-network'),
'social-media-follow-network' => self::module('url', [