Add evo_megamenu_json extension and seed the megamenu

- 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
This commit is contained in:
2026-09-11 11:44:20 +02:00
parent e9eaa62d89
commit 5bb4e374b4
31 changed files with 2251 additions and 4 deletions

41
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "d902283b2e3364081e0daec494c39cef",
"content-hash": "9baf94c6d03b967820c531b235568ece",
"packages": [
{
"name": "apache-solr-for-typo3/solr",
@@ -1424,6 +1424,39 @@
},
"time": "2025-08-12T10:13:48+00:00"
},
{
"name": "evomedien/evo-megamenu-json",
"version": "1.0.0",
"dist": {
"type": "path",
"url": "./packages/evo_megamenu_json",
"reference": "d466495bad7206fe59926644544da125747b73c0"
},
"require": {
"typo3/cms-core": "^13.4 || ^14.0"
},
"suggest": {
"friendsoftypo3/headless": "Renders the plugin inside the headless JSON envelope and exposes the menu at page level"
},
"type": "typo3-cms-extension",
"extra": {
"typo3/cms": {
"extension-key": "evo_megamenu_json"
}
},
"autoload": {
"psr-4": {
"Evomedien\\EvoMegamenuJson\\": "Classes"
}
},
"license": [
"GPL-2.0-or-later"
],
"description": "Editable megamenu for headless TYPO3 - one plugin fills columns, teaser cards and a featured slot, delivered as JSON",
"transport-options": {
"relative": true
}
},
{
"name": "evomedien/vitec",
"version": "1.0.1",
@@ -10233,10 +10266,10 @@
},
"prefer-stable": false,
"prefer-lowest": false,
"platform": {},
"platform-dev": {},
"platform": [],
"platform-dev": [],
"platform-overrides": {
"php": "8.4.0"
},
"plugin-api-version": "2.9.0"
"plugin-api-version": "2.3.0"
}