- evo_megamenu_json: new entry layout "pagetree" - the panel columns
mirror the live subtree of the page the entry links to (one child per
column, grandchildren as items, getMenu() restrictions apply), so the
menu can never age against the page structure again. The stale
9-market panel after the markets realign was the trigger. Curated
columns are ignored on this layout; teasers and the featured slot
stay editorial. Same columns shape in the payload - front ends need
no change beyond knowing the new layout string
- new vitec:normalize-slugs --root=<slug> [--style=plain|and]:
recursively realigns every slug below a root to
<parent-slug>/<slugified-title>, cascading, with a sibling-collision
warning; EXT:redirects covers the old URLs. TYPO3's slug generator
keeps slashes from page titles (third hit: rtcc-/-rtic), this sweeps
a whole tree. Run on /solutions: four fixes, including the
long-standing passenger page and solution page 467. The misspelled
"engagament" slug stays deliberately - it follows the page title and
is fixed in the coordinated typo task
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The teaser cards field depends on the layout via displayCond; it now appears right after switching to catalog/teasers instead of only after saving.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- new project-neutral extension evo_megamenu_json (Evomedien): a Megamenu
plugin holding entries, columns, items, teaser cards and a featured slot
as nested records; presentation settings travel with the payload so the
front end reads behaviour instead of hard-coding it; published as
page.10.fields.megaMenu, driven by the site settings megamenu.contentUid
and megamenu.storagePid
- vitec:seed-megamenu fills one element from the live structure: 5 entries,
26 columns, 95 items, 4 story cards; items without a page yet are flagged
pending so the front end falls back to the column link
- vitec:debug-sets prints the resolved site set order
- read-only diagnostics: check_megamenu_schema.php, check_typoscript_templates.php
- docs: schema updates run via extension:setup (database:updateschema no
longer exists in v14), and a JSON Accept header activates headless-mixed,
which strips every set-added page field