Files
VITEC-website/packages/vitec/Configuration/TCA/Overrides/tt_content_vitec_shared.php
o-rasche 409afc2433 VITEC headless: ContentElementResolver, Product fields (videofile, showdatapath)
- New Classes/Service/ContentElementResolver.php: parses TYPO3 typolink
  (t3://record?identifier=tt_content&uid=N, t3://page?uid=P#N, plain numeric)
  to a normalised tt_content envelope ({id,type,colPos,sorting,appearance,
  data}), recursively resolving any nested VITEC list-plugin children.
- ProductListJsonRenderer / ProductShowJsonRenderer: contentelement and
  contentelementcta now emit the resolved object instead of the raw
  typolink string (breaking change at those two keys).
- Product model: new field videofile (FAL, single video upload in tab
  Images and Videos, mp4/webm/ogv/mov/m4v); new bool field showdatapath
  (toggle at end of General tab, controls the "Datapath is now Vitec"
  graphic in the frontend). ext_tables.sql, TCA, model property +
  getter/setter, and both renderers updated accordingly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-05 10:34:49 +02:00

38 lines
1.4 KiB
PHP

<?php
declare(strict_types=1);
defined('TYPO3') or die();
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
(static function (): void {
$l = 'LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:';
// Shared field: Background Variant for all VITEC containers
ExtensionManagementUtility::addTCAcolumns('tt_content', [
'tx_vitec_bg_variant' => [
'label' => $l . 'bg_variant.label',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['label' => $l . 'bg_variant.option.none', 'value' => 'none'],
['label' => $l . 'bg_variant.option.orange', 'value' => 'orange'],
['label' => $l . 'bg_variant.option.blue', 'value' => 'blue'],
['label' => $l . 'bg_variant.option.graphite', 'value' => 'graphite'],
['label' => $l . 'bg_variant.option.midnight', 'value' => 'midnight'],
],
'default' => 'none',
],
],
]);
// Register VITEC wizard group header
ExtensionManagementUtility::addPageTSConfig(<<<TSCONFIG
mod.wizards.newContentElement.wizardItems.vitec {
header = LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:group.header
show = *
}
TSCONFIG);
})();