Files
VITEC-website/packages/vitec/ext_tables.sql
khaccount 4541c58fe7 VITEC headless v14: 5-bug fix unifies plugin renderers + cleanup
Resolves a cascade of TYPO3 v14 breaking changes that left every VITEC
plugin's JSON output silently empty:

1. `list_type` column dropped — all renderer page-discovery queries now
   filter by `CType = 'vitec_X'`.
2. `#[AsAllowedCallable]` attribute added to every public render() —
   without it v14 throws AllowedCallableException, which headless
   silently filters via its "Oops, an error occurred!" guard.
3. `$GLOBALS['TSFE']->id` is null inside JSON cObj context — page id
   now read from the `frontend.page.information` request attribute
   (TSFE fallback kept for legacy entry points).
4. page.tsconfig wizard items migrated to `CType = vitec_X` directly
   (legacy `CType=list, list_type=...` no longer exists in v14).
5. ContainerChildrenProcessor + ContentElementResolver dispatch the
   PLUGIN_RENDERERS map by CType (primary) with list_type fallback.

Beyond the bug fix this commit also contains:
- Datasheets renderer rewritten to "products with newest datasheet"
  semantics (filtered via Download.hideondatasheets).
- New vitec/card content block — multi-purpose card with backend
  preview and layout/background/aspect/alignment/border/shadow options.
- New vitec_container CType (b13 single-column container, FlexForm
  cssClass propagated into the JSON envelope).
- ContentElementResolver service for contentelement/contentelementcta
  link resolution; ContainerChildrenProcessor for nested plugin
  resolution inside b13 containers.
- Vitecset setup.typoscript: ContentElement import moved to top so
  lib.contentElement is defined before VITEC's tt_content blocks.
- Cleanup: 98 .bak.<timestamp> debugging backups removed; *.bak.* and
  /public/_assets_install/ added to .gitignore.
2026-06-15 14:42:33 +02:00

174 lines
6.4 KiB
SQL
Executable File

CREATE TABLE tx_vitec_domain_model_product (
uid int(11) NOT NULL auto_increment,
pid int(11) DEFAULT '0' NOT NULL,
tstamp int(11) DEFAULT '0' NOT NULL,
crdate int(11) DEFAULT '0' NOT NULL,
cruser_id int(11) DEFAULT '0' NOT NULL,
deleted tinyint(4) DEFAULT '0' NOT NULL,
hidden tinyint(4) DEFAULT '0' NOT NULL,
starttime int(11) DEFAULT '0' NOT NULL,
endtime int(11) DEFAULT '0' NOT NULL,
title varchar(255) DEFAULT '' NOT NULL,
slug varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (uid),
urltitle varchar(255) DEFAULT '' NOT NULL,
seotitle varchar(255) DEFAULT '' NOT NULL,
seometa text,
keywords text,
productimage int(11) DEFAULT '0' NOT NULL,
structureddata text,
teaser varchar(255) DEFAULT '' NOT NULL,
subtitle varchar(255) DEFAULT '' NOT NULL,
applications text,
highlights text,
description text,
image INTEGER,
relatedimage INTEGER,
ogimage INTEGER,
legacy tinyint(4) DEFAULT '0' NOT NULL,
supportproduct tinyint(4) DEFAULT '0' NOT NULL,
subproduct tinyint(4) DEFAULT '0' NOT NULL,
cta varchar(255) DEFAULT '' NOT NULL,
sorting1 smallint(5) NOT NULL,
sorting2 smallint(5) NOT NULL,
sorting3 smallint(5) NOT NULL,
sorting4 smallint(5) NOT NULL,
sorting5 smallint(5) NOT NULL,
links text,
hideonapp smallint(5) unsigned DEFAULT '0' NOT NULL,
hideonwebsite smallint(5) unsigned DEFAULT '0' NOT NULL,
hideondatasheets smallint(5) unsigned DEFAULT '0' NOT NULL,
hideonproducts smallint(5) unsigned DEFAULT '0' NOT NULL,
shortcut tinyint(4) DEFAULT '0' NOT NULL,
shortcutpid smallint(5) NOT NULL,
video varchar(255) DEFAULT '' NOT NULL,
key1 varchar(255) DEFAULT '' NOT NULL,
key2 varchar(255) DEFAULT '' NOT NULL,
key3 varchar(255) DEFAULT '' NOT NULL,
apptext1 varchar(255) DEFAULT '' NOT NULL,
apptext2 varchar(255) DEFAULT '' NOT NULL,
apptext3 varchar(255) DEFAULT '' NOT NULL,
productlayout int(11) DEFAULT '0' NOT NULL,
contentelement varchar(255) DEFAULT '' NOT NULL,
contentelementcta varchar(255) DEFAULT '' NOT NULL,
videofile int(11) unsigned DEFAULT '0' NOT NULL,
showdatapath smallint(5) unsigned DEFAULT '0' NOT NULL,
KEY parent (pid)
);
CREATE TABLE tx_vitec_domain_model_download (
title varchar(255) DEFAULT '' NOT NULL,
slug varchar(255) DEFAULT '' NOT NULL,
teaser varchar(255) NOT NULL DEFAULT '',
keywords varchar(255) NOT NULL DEFAULT '',
description text,
file int(11) unsigned NOT NULL DEFAULT '0',
sort1 varchar(255) NOT NULL DEFAULT '',
sort2 varchar(255) NOT NULL DEFAULT '',
sort3 varchar(255) NOT NULL DEFAULT '',
private_download smallint(1) unsigned NOT NULL DEFAULT '0',
hideonapp smallint(5) unsigned DEFAULT '0' NOT NULL,
hideonwebsite smallint(5) unsigned DEFAULT '0' NOT NULL,
hideondatasheets smallint(5) unsigned DEFAULT '0' NOT NULL,
hideonproducts smallint(5) unsigned DEFAULT '0' NOT NULL,
icon varchar(255) NOT NULL DEFAULT '',
filepath varchar(255) NOT NULL DEFAULT '',
fileprefix varchar(255) NOT NULL DEFAULT '',
useolddl smallint(1) unsigned NOT NULL DEFAULT '0'
);
CREATE TABLE tx_vitec_product_download_mm (
uid_local int(11) DEFAULT '0' NOT NULL,
uid_foreign int(11) DEFAULT '0' NOT NULL,
sorting int(11) DEFAULT '0' NOT NULL,
sorting_foreign int(11) DEFAULT '0' NOT NULL,
KEY uid_local (uid_local),
KEY uid_foreign (uid_foreign)
);
CREATE TABLE tx_vitec_product_related_mm (
uid_local INT(11) NOT NULL,
uid_foreign INT(11) NOT NULL,
sorting INT(11) DEFAULT '0' NOT NULL,
PRIMARY KEY (uid_local, uid_foreign)
);
CREATE TABLE tx_vitec_domain_model_usecase (
uid int(11) NOT NULL auto_increment,
pid int(11) DEFAULT '0' NOT NULL,
tstamp int(11) DEFAULT '0' NOT NULL,
crdate int(11) DEFAULT '0' NOT NULL,
cruser_id int(11) DEFAULT '0' NOT NULL,
deleted tinyint(4) DEFAULT '0' NOT NULL,
hidden tinyint(4) DEFAULT '0' NOT NULL,
starttime int(11) DEFAULT '0' NOT NULL,
endtime int(11) DEFAULT '0' NOT NULL,
title varchar(255) DEFAULT '' NOT NULL,
slug varchar(255) DEFAULT '' NOT NULL,
teaser varchar(255) DEFAULT '' NOT NULL,
subtitle varchar(255) DEFAULT '' NOT NULL,
description text,
caseimage INTEGER,
logoimage INTEGER,
singlepid varchar(255) DEFAULT '' NOT NULL,
hideonapp smallint(5) unsigned DEFAULT '0' NOT NULL,
hideonwebsite smallint(5) unsigned DEFAULT '0' NOT NULL,
PRIMARY KEY (uid),
KEY parent (pid)
);
CREATE TABLE tx_vitec_domain_model_solution (
uid int(11) NOT NULL auto_increment,
pid int(11) DEFAULT '0' NOT NULL,
tstamp int(11) DEFAULT '0' NOT NULL,
crdate int(11) DEFAULT '0' NOT NULL,
cruser_id int(11) DEFAULT '0' NOT NULL,
deleted tinyint(4) DEFAULT '0' NOT NULL,
hidden tinyint(4) DEFAULT '0' NOT NULL,
starttime int(11) DEFAULT '0' NOT NULL,
endtime int(11) DEFAULT '0' NOT NULL,
sys_language_uid int(11) DEFAULT '0' NOT NULL,
l10n_parent int(11) DEFAULT '0' NOT NULL,
l10n_diffsource mediumblob,
title varchar(255) DEFAULT '' NOT NULL,
subtitle varchar(255) DEFAULT '' NOT NULL,
teaser varchar(255) DEFAULT '' NOT NULL,
description text,
image int(11) DEFAULT '0' NOT NULL,
PRIMARY KEY (uid),
KEY parent (pid),
KEY language (l10n_parent, sys_language_uid)
);
CREATE TABLE tx_vitec_domain_model_market (
uid int(11) NOT NULL auto_increment,
pid int(11) DEFAULT '0' NOT NULL,
tstamp int(11) DEFAULT '0' NOT NULL,
crdate int(11) DEFAULT '0' NOT NULL,
cruser_id int(11) DEFAULT '0' NOT NULL,
deleted tinyint(4) DEFAULT '0' NOT NULL,
hidden tinyint(4) DEFAULT '0' NOT NULL,
starttime int(11) DEFAULT '0' NOT NULL,
endtime int(11) DEFAULT '0' NOT NULL,
sys_language_uid int(11) DEFAULT '0' NOT NULL,
l10n_parent int(11) DEFAULT '0' NOT NULL,
l10n_diffsource mediumblob,
title varchar(255) DEFAULT '' NOT NULL,
subtitle varchar(255) DEFAULT '' NOT NULL,
teaser varchar(255) DEFAULT '' NOT NULL,
description text,
image int(11) DEFAULT '0' NOT NULL,
PRIMARY KEY (uid),
KEY parent (pid),
KEY language (l10n_parent, sys_language_uid)
);
ALTER TABLE sys_category
ADD class VARCHAR(255) DEFAULT '' NOT NULL,
ADD filetype VARCHAR(255) DEFAULT '' NOT NULL,
ADD type VARCHAR(255) DEFAULT '' NOT NULL;
CREATE TABLE tt_content (
tx_vitec_bg_variant VARCHAR(20) DEFAULT 'none' NOT NULL
);