- 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
70 lines
1.9 KiB
SQL
70 lines
1.9 KiB
SQL
#
|
|
# 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
|
|
);
|