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:
1 parent
e9eaa62d89
commit
5bb4e374b4
31 files changed
+2251
-4
No files matched your search
@@ -0,0 +1,69 @@
|
||||
#
|
||||
# Megamenu entry - one item in the main navigation bar.
|
||||
# Child of the "Megamenu" plugin element (tt_content).
|
||||
#
|
||||
CREATE TABLE tx_evomegamenujson_entry (
|
||||
parentid int(11) DEFAULT '0' NOT NULL,
|
||||
parenttable varchar(255) DEFAULT '' NOT NULL,
|
||||
title varchar(255) DEFAULT '' NOT NULL,
|
||||
link varchar(1024) DEFAULT '' NOT NULL,
|
||||
layout varchar(30) DEFAULT 'columns' NOT NULL,
|
||||
menu_columns int(11) DEFAULT '0' NOT NULL,
|
||||
menu_teasers int(11) DEFAULT '0' NOT NULL,
|
||||
featured_enable tinyint(1) unsigned DEFAULT '0' NOT NULL,
|
||||
featured_kicker varchar(255) DEFAULT '' NOT NULL,
|
||||
featured_title varchar(255) DEFAULT '' NOT NULL,
|
||||
featured_text text,
|
||||
featured_link varchar(1024) DEFAULT '' NOT NULL,
|
||||
featured_image int(11) unsigned DEFAULT '0' NOT NULL,
|
||||
|
||||
KEY parent (parentid)
|
||||
);
|
||||
|
||||
#
|
||||
# Column inside an entry - a headline plus its list of items.
|
||||
#
|
||||
CREATE TABLE tx_evomegamenujson_column (
|
||||
parentid int(11) DEFAULT '0' NOT NULL,
|
||||
title varchar(255) DEFAULT '' NOT NULL,
|
||||
link varchar(1024) DEFAULT '' NOT NULL,
|
||||
menu_items int(11) DEFAULT '0' NOT NULL,
|
||||
|
||||
KEY parent (parentid)
|
||||
);
|
||||
|
||||
#
|
||||
# Item inside a column - the actual link line.
|
||||
#
|
||||
CREATE TABLE tx_evomegamenujson_item (
|
||||
parentid int(11) DEFAULT '0' NOT NULL,
|
||||
title varchar(255) DEFAULT '' NOT NULL,
|
||||
link varchar(1024) DEFAULT '' NOT NULL,
|
||||
teaser varchar(255) DEFAULT '' NOT NULL,
|
||||
badge varchar(60) DEFAULT '' NOT NULL,
|
||||
pending tinyint(1) unsigned DEFAULT '0' NOT NULL,
|
||||
image int(11) unsigned DEFAULT '0' NOT NULL,
|
||||
|
||||
KEY parent (parentid)
|
||||
);
|
||||
|
||||
#
|
||||
# Teaser card inside an entry - used by the "teasers" layout.
|
||||
#
|
||||
CREATE TABLE tx_evomegamenujson_teaser (
|
||||
parentid int(11) DEFAULT '0' NOT NULL,
|
||||
kicker varchar(255) DEFAULT '' NOT NULL,
|
||||
title varchar(255) DEFAULT '' NOT NULL,
|
||||
teasertext text,
|
||||
link varchar(1024) DEFAULT '' NOT NULL,
|
||||
image int(11) unsigned DEFAULT '0' NOT NULL,
|
||||
|
||||
KEY parent (parentid)
|
||||
);
|
||||
|
||||
#
|
||||
# Plugin element holds its entries inline.
|
||||
#
|
||||
CREATE TABLE tt_content (
|
||||
tx_evomegamenujson_entries int(11) DEFAULT '0' NOT NULL
|
||||
);
|
||||
Reference in new issue
Block a user