Files
VITEC-website/packages/vitec/Configuration/TCA/tx_vitec_domain_model_event.php
2026-07-09 10:10:05 +02:00

291 lines
10 KiB
PHP
Executable File

<?php
return [
'ctrl' => [
'title' => 'VITEC Event',
'label' => 'title',
'label_alt' => 'city,eventstart',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'versioningWS' => true,
'languageField' => 'sys_language_uid',
'transOrigPointerField' => 'l10n_parent',
'transOrigDiffSourceField' => 'l10n_diffsource',
'delete' => 'deleted',
'default_sortby' => 'eventstart ASC',
'enablecolumns' => [
'disabled' => 'hidden',
'starttime' => 'starttime',
'endtime' => 'endtime',
],
'searchFields' => 'title,teaser,venue,booth,city,country',
'iconfile' => 'EXT:vitec/Resources/Public/Icons/tx_vitec_domain_model_event.svg',
'security' => [
'ignorePageTypeRestriction' => true,
],
],
'types' => [
'1' => [
'showitem' => 'title, slug, teaser, description,
--div--;Event Details, eventstart, eventend, venue, booth, city, country, attendancemode, eventstatus,
--div--;Links and Media, eventurl, meetinglink, image,
--div--;Visibility, hideonwebsite, hideonapp,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories, categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language, sys_language_uid, l10n_parent, l10n_diffsource,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access, hidden, starttime, endtime',
],
],
'columns' => [
'sys_language_uid' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language',
'config' => [
'type' => 'language',
],
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'default' => 0,
'items' => [
['label' => '', 'value' => 0],
],
'foreign_table' => 'tx_vitec_domain_model_event',
'foreign_table_where' => 'AND {#tx_vitec_domain_model_event}.{#pid}=###CURRENT_PID### AND {#tx_vitec_domain_model_event}.{#sys_language_uid} IN (-1,0)',
],
],
'l10n_diffsource' => [
'config' => [
'type' => 'passthrough',
],
],
'hidden' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.visible',
'config' => [
'type' => 'check',
'renderType' => 'checkboxToggle',
'items' => [
[
'label' => '',
'invertStateDisplay' => true,
],
],
],
],
'starttime' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.starttime',
'config' => [
'type' => 'datetime',
'default' => 0,
],
],
'endtime' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.endtime',
'config' => [
'type' => 'datetime',
'default' => 0,
],
],
'title' => [
'exclude' => false,
'label' => 'Event Name',
'config' => [
'type' => 'input',
'size' => 40,
'max' => 255,
'eval' => 'trim',
'required' => true,
],
],
'slug' => [
'exclude' => true,
'label' => 'Slug',
'config' => [
'type' => 'slug',
'size' => 50,
'generatorOptions' => [
'fields' => ['title'],
'replacements' => ['/' => '-'],
],
'fallbackCharacter' => '-',
'eval' => 'uniqueInSite',
'default' => '',
],
],
'teaser' => [
'exclude' => true,
'label' => 'Teaser',
'config' => [
'type' => 'input',
'size' => 40,
'max' => 255,
'eval' => 'trim',
],
],
'description' => [
'exclude' => true,
'label' => 'Description',
'config' => [
'type' => 'text',
'cols' => 40,
'rows' => 8,
'enableRichtext' => true,
],
],
'eventstart' => [
'exclude' => false,
'label' => 'Event Start Date',
'config' => [
'type' => 'datetime',
'format' => 'date',
'default' => 0,
'required' => true,
],
],
'eventend' => [
'exclude' => true,
'label' => 'Event End Date',
'config' => [
'type' => 'datetime',
'format' => 'date',
'default' => 0,
],
],
'venue' => [
'exclude' => true,
'label' => 'Venue',
'description' => 'e.g. "Queen Sirikit National Convention Center (QSNCC)"',
'config' => [
'type' => 'input',
'size' => 40,
'max' => 255,
'eval' => 'trim',
],
],
'booth' => [
'exclude' => true,
'label' => 'Booth / Stand',
'description' => 'e.g. "Stand H10"',
'config' => [
'type' => 'input',
'size' => 20,
'max' => 255,
'eval' => 'trim',
],
],
'city' => [
'exclude' => true,
'label' => 'City',
'config' => [
'type' => 'input',
'size' => 30,
'max' => 255,
'eval' => 'trim',
],
],
'country' => [
'exclude' => true,
'label' => 'Country',
'config' => [
'type' => 'input',
'size' => 30,
'max' => 255,
'eval' => 'trim',
],
],
'attendancemode' => [
'exclude' => true,
'label' => 'Attendance Mode',
'description' => 'Used for schema.org structured data (eventAttendanceMode).',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'default' => 'offline',
'items' => [
['label' => 'On-site (offline)', 'value' => 'offline'],
['label' => 'Online', 'value' => 'online'],
['label' => 'Hybrid (mixed)', 'value' => 'mixed'],
],
],
],
'eventstatus' => [
'exclude' => true,
'label' => 'Event Status',
'description' => 'Used for schema.org structured data (eventStatus).',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'default' => 'scheduled',
'items' => [
['label' => 'Scheduled', 'value' => 'scheduled'],
['label' => 'Cancelled', 'value' => 'cancelled'],
['label' => 'Postponed', 'value' => 'postponed'],
['label' => 'Rescheduled', 'value' => 'rescheduled'],
['label' => 'Moved Online', 'value' => 'movedonline'],
],
],
],
'eventurl' => [
'exclude' => true,
'label' => 'Event Website',
'config' => [
'type' => 'link',
'allowedTypes' => ['url', 'page'],
],
],
'meetinglink' => [
'exclude' => true,
'label' => 'Book-a-Meeting Link',
'description' => 'Link or email for the "Book a Meeting" call-to-action.',
'config' => [
'type' => 'link',
'allowedTypes' => ['url', 'email', 'page'],
],
],
'image' => [
'exclude' => true,
'label' => 'Event Logo / Image',
'config' => [
'type' => 'file',
'maxitems' => 1,
'allowed' => 'common-image-types',
],
],
'hideonwebsite' => [
'exclude' => true,
'label' => 'Hide on Website',
'config' => [
'type' => 'check',
'renderType' => 'checkboxToggle',
'default' => 0,
],
],
'hideonapp' => [
'exclude' => true,
'label' => 'Hide in App',
'config' => [
'type' => 'check',
'renderType' => 'checkboxToggle',
'default' => 0,
],
],
'categories' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.categories',
'config' => [
'type' => 'category',
],
],
],
];