356 lines
15 KiB
PHP
356 lines
15 KiB
PHP
<?php
|
||
return [
|
||
'ctrl' => [
|
||
'title' => 'VITEC Success Story',
|
||
'label' => 'title',
|
||
'tstamp' => 'tstamp',
|
||
'crdate' => 'crdate',
|
||
'cruser_id' => 'cruser_id',
|
||
'versioningWS' => true,
|
||
'languageField' => 'sys_language_uid',
|
||
'transOrigPointerField' => 'l10n_parent',
|
||
'transOrigDiffSourceField' => 'l10n_diffsource',
|
||
'delete' => 'deleted',
|
||
'enablecolumns' => [
|
||
'disabled' => 'hidden',
|
||
'starttime' => 'starttime',
|
||
'endtime' => 'endtime',
|
||
],
|
||
'searchFields' => 'title,slug,subtitle,teaser,seo_title,seo_description',
|
||
'iconfile' => 'EXT:vitec/Resources/Public/Icons/tx_vitec_domain_model_usecase.gif',
|
||
'security' => [
|
||
'ignorePageTypeRestriction' => true,
|
||
],
|
||
],
|
||
'types' => [
|
||
'1' => [
|
||
'showitem' =>
|
||
'--div--;General,
|
||
title, slug, subtitle,
|
||
--div--;List view,
|
||
card_image, customer_logo, teaser,
|
||
--div--;Detail · Hero,
|
||
hero_bgimage, hero_small_image, hero_video, hero_overlay_color, hero_overlay_opacity,
|
||
--div--;Detail · Content,
|
||
content_elements,
|
||
--div--;Detail · Related,
|
||
markets, solutions, products, categories,
|
||
--div--;SEO,
|
||
seo_title, seo_description, no_index, no_follow, canonical_link,
|
||
--palette--;Open Graph;ogPalette,
|
||
--palette--;Twitter;twitterPalette,
|
||
--div--;Appearance,
|
||
layout_variant, background_variant, accent_color,
|
||
featured, show_related, hero_layout, text_theme,
|
||
--palette--;Visibility;visibilityPalette,
|
||
--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',
|
||
],
|
||
],
|
||
'palettes' => [
|
||
'ogPalette' => ['showitem' => 'og_title, og_description, --linebreak--, og_image'],
|
||
'twitterPalette' => ['showitem' => 'twitter_title, twitter_description, --linebreak--, twitter_image'],
|
||
'visibilityPalette' => ['showitem' => 'hideonwebsite, hideonapp'],
|
||
],
|
||
'columns' => [
|
||
// ------------------------------------------------------------ system
|
||
'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_usecase',
|
||
'foreign_table_where' => 'AND {#tx_vitec_domain_model_usecase}.{#pid}=###CURRENT_PID### AND {#tx_vitec_domain_model_usecase}.{#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' => [['value' => '', 'label' => '', 'invertStateDisplay' => true]],
|
||
],
|
||
],
|
||
'starttime' => [
|
||
'exclude' => true,
|
||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.starttime',
|
||
'config' => ['type' => 'datetime', 'default' => 0, 'behaviour' => ['allowLanguageSynchronization' => true]],
|
||
],
|
||
'endtime' => [
|
||
'exclude' => true,
|
||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.endtime',
|
||
'config' => ['type' => 'datetime', 'default' => 0, 'range' => ['upper' => mktime(0, 0, 0, 1, 1, 2038)], 'behaviour' => ['allowLanguageSynchronization' => true]],
|
||
],
|
||
|
||
// ----------------------------------------------------------- General
|
||
'title' => [
|
||
'label' => 'Title',
|
||
'config' => ['type' => 'input', 'size' => 40, 'eval' => 'trim', 'required' => true, 'default' => ''],
|
||
],
|
||
'slug' => [
|
||
'label' => 'Slug',
|
||
'config' => [
|
||
'type' => 'slug',
|
||
'size' => 50,
|
||
'generatorOptions' => ['fields' => ['title'], 'fieldSeparator' => '-', 'replacements' => ['/' => '']],
|
||
'fallbackCharacter' => '-',
|
||
'eval' => 'uniqueInPid',
|
||
],
|
||
],
|
||
'subtitle' => [
|
||
'label' => 'Subtitle',
|
||
'config' => ['type' => 'input', 'size' => 40, 'eval' => 'trim', 'default' => ''],
|
||
],
|
||
|
||
// --------------------------------------------------------- List view
|
||
'card_image' => [
|
||
'label' => 'Card Image',
|
||
'config' => [
|
||
'type' => 'file',
|
||
'maxitems' => 1,
|
||
'allowed' => 'common-image-types',
|
||
// Zusatz-Zuschnitte fuer Card-/Large-Card-Darstellung (freier Crop bleibt moeglich).
|
||
'overrideChildTca' => [
|
||
'columns' => [
|
||
'crop' => [
|
||
'config' => [
|
||
'cropVariants' => \Evomedien\Vitec\Tca\CropVariants::firstImage(),
|
||
],
|
||
],
|
||
],
|
||
],
|
||
],
|
||
],
|
||
'customer_logo' => [
|
||
'label' => 'Customer Logo',
|
||
'config' => ['type' => 'file', 'maxitems' => 1, 'allowed' => 'common-image-types'],
|
||
],
|
||
'teaser' => [
|
||
'label' => 'Teaser',
|
||
'config' => ['type' => 'text', 'cols' => 40, 'rows' => 4, 'eval' => 'trim'],
|
||
],
|
||
|
||
// ------------------------------------------------------ Detail · Hero
|
||
'hero_bgimage' => [
|
||
'label' => 'Background Image',
|
||
'config' => ['type' => 'file', 'maxitems' => 1, 'allowed' => 'common-image-types'],
|
||
],
|
||
'hero_small_image' => [
|
||
'label' => 'Small Image',
|
||
'config' => ['type' => 'file', 'maxitems' => 1, 'allowed' => 'common-image-types'],
|
||
],
|
||
'hero_video' => [
|
||
'label' => 'Video',
|
||
'config' => ['type' => 'file', 'maxitems' => 1, 'allowed' => 'mp4,webm,ogv,mov,m4v'],
|
||
],
|
||
'hero_overlay_color' => [
|
||
'label' => 'Overlay Color',
|
||
'config' => ['type' => 'color'],
|
||
],
|
||
'hero_overlay_opacity' => [
|
||
'label' => 'Overlay Opacity (0–1)',
|
||
'config' => [
|
||
'type' => 'number',
|
||
'format' => 'decimal',
|
||
'default' => 0,
|
||
'range' => ['lower' => 0, 'upper' => 1],
|
||
'slider' => ['step' => 0.05, 'width' => 200],
|
||
],
|
||
],
|
||
|
||
// --------------------------------------------------- Detail · Content
|
||
'content_elements' => [
|
||
'label' => 'Content Elements',
|
||
'config' => [
|
||
'type' => 'inline',
|
||
'foreign_table' => 'tt_content',
|
||
'foreign_field' => 'tx_vitec_usecase_content',
|
||
'foreign_sortby' => 'sorting',
|
||
'appearance' => [
|
||
'collapseAll' => true,
|
||
'expandSingle' => true,
|
||
'levelLinksPosition' => 'top',
|
||
'showSynchronizationLink' => false,
|
||
'showAllLocalizationLink' => false,
|
||
'showPossibleLocalizationRecords' => false,
|
||
'useSortable' => true,
|
||
],
|
||
'overrideChildTca' => [
|
||
'columns' => [
|
||
'colPos' => ['config' => ['default' => 999]],
|
||
],
|
||
],
|
||
],
|
||
],
|
||
|
||
// --------------------------------------------------- Detail · Related
|
||
'markets' => [
|
||
'label' => 'Markets',
|
||
'config' => [
|
||
'type' => 'select',
|
||
'renderType' => 'selectMultipleSideBySide',
|
||
'foreign_table' => 'tx_vitec_domain_model_market',
|
||
'MM' => 'tx_vitec_usecase_market_mm',
|
||
'size' => 6,
|
||
'autoSizeMax' => 20,
|
||
'maxitems' => 9999,
|
||
],
|
||
],
|
||
'solutions' => [
|
||
'label' => 'Solutions',
|
||
'config' => [
|
||
'type' => 'select',
|
||
'renderType' => 'selectMultipleSideBySide',
|
||
'foreign_table' => 'tx_vitec_domain_model_solution',
|
||
'MM' => 'tx_vitec_usecase_solution_mm',
|
||
'size' => 6,
|
||
'autoSizeMax' => 20,
|
||
'maxitems' => 9999,
|
||
],
|
||
],
|
||
'products' => [
|
||
'label' => 'Products',
|
||
'config' => [
|
||
'type' => 'select',
|
||
'renderType' => 'selectMultipleSideBySide',
|
||
'foreign_table' => 'tx_vitec_domain_model_product',
|
||
'MM' => 'tx_vitec_usecase_product_mm',
|
||
'size' => 6,
|
||
'autoSizeMax' => 20,
|
||
'maxitems' => 9999,
|
||
],
|
||
],
|
||
'categories' => ['config' => ['type' => 'category']],
|
||
|
||
// --------------------------------------------------------------- SEO
|
||
'seo_title' => [
|
||
'label' => 'SEO Title',
|
||
'config' => ['type' => 'input', 'size' => 40, 'eval' => 'trim'],
|
||
],
|
||
'seo_description' => [
|
||
'label' => 'Meta Description',
|
||
'config' => ['type' => 'text', 'cols' => 40, 'rows' => 3, 'eval' => 'trim'],
|
||
],
|
||
'no_index' => [
|
||
'label' => 'No Index',
|
||
'config' => ['type' => 'check', 'renderType' => 'checkboxToggle', 'items' => [['value' => '', 'label' => '']]],
|
||
],
|
||
'no_follow' => [
|
||
'label' => 'No Follow',
|
||
'config' => ['type' => 'check', 'renderType' => 'checkboxToggle', 'items' => [['value' => '', 'label' => '']]],
|
||
],
|
||
'canonical_link' => [
|
||
'label' => 'Canonical URL',
|
||
'config' => ['type' => 'link'],
|
||
],
|
||
'og_title' => [
|
||
'label' => 'og:title',
|
||
'config' => ['type' => 'input', 'size' => 40, 'eval' => 'trim'],
|
||
],
|
||
'og_description' => [
|
||
'label' => 'og:description',
|
||
'config' => ['type' => 'text', 'cols' => 40, 'rows' => 3, 'eval' => 'trim'],
|
||
],
|
||
'og_image' => [
|
||
'label' => 'og:image',
|
||
'config' => ['type' => 'file', 'maxitems' => 1, 'allowed' => 'common-image-types'],
|
||
],
|
||
'twitter_title' => [
|
||
'label' => 'twitter:title',
|
||
'config' => ['type' => 'input', 'size' => 40, 'eval' => 'trim'],
|
||
],
|
||
'twitter_description' => [
|
||
'label' => 'twitter:description',
|
||
'config' => ['type' => 'text', 'cols' => 40, 'rows' => 3, 'eval' => 'trim'],
|
||
],
|
||
'twitter_image' => [
|
||
'label' => 'twitter:image',
|
||
'config' => ['type' => 'file', 'maxitems' => 1, 'allowed' => 'common-image-types'],
|
||
],
|
||
|
||
// -------------------------------------------------------- Appearance
|
||
'layout_variant' => [
|
||
'label' => 'Detail Layout',
|
||
'config' => [
|
||
'type' => 'select', 'renderType' => 'selectSingle', 'default' => 'standard',
|
||
'items' => [
|
||
['label' => 'Standard', 'value' => 'standard'],
|
||
['label' => 'Wide', 'value' => 'wide'],
|
||
['label' => 'Centered', 'value' => 'centered'],
|
||
['label' => 'Media-first', 'value' => 'media_first'],
|
||
],
|
||
],
|
||
],
|
||
'background_variant' => [
|
||
'label' => 'Background',
|
||
'config' => [
|
||
'type' => 'select', 'renderType' => 'selectSingle', 'default' => 'none',
|
||
'items' => [
|
||
['label' => 'None', 'value' => 'none'],
|
||
['label' => 'Orange', 'value' => 'orange'],
|
||
['label' => 'Blue', 'value' => 'blue'],
|
||
['label' => 'Graphite', 'value' => 'graphite'],
|
||
['label' => 'Midnight', 'value' => 'midnight'],
|
||
['label' => 'Light', 'value' => 'light'],
|
||
['label' => 'Dark', 'value' => 'dark'],
|
||
],
|
||
],
|
||
],
|
||
'accent_color' => [
|
||
'label' => 'Accent Color',
|
||
'config' => ['type' => 'color'],
|
||
],
|
||
'hideonwebsite' => [
|
||
'exclude' => true,
|
||
'label' => 'Hide on Website',
|
||
'config' => ['type' => 'check', 'renderType' => 'checkboxToggle', 'items' => [['value' => '', 'label' => '']]],
|
||
],
|
||
'hideonapp' => [
|
||
'exclude' => true,
|
||
'label' => 'Hide on App',
|
||
'config' => ['type' => 'check', 'renderType' => 'checkboxToggle', 'items' => [['value' => '', 'label' => '']]],
|
||
],
|
||
'featured' => [
|
||
'label' => 'Featured',
|
||
'config' => ['type' => 'check', 'renderType' => 'checkboxToggle', 'items' => [['value' => '', 'label' => '']]],
|
||
],
|
||
'show_related' => [
|
||
'label' => 'Show Related section',
|
||
'config' => ['type' => 'check', 'renderType' => 'checkboxToggle', 'default' => 1, 'items' => [['value' => '', 'label' => '']]],
|
||
],
|
||
'hero_layout' => [
|
||
'label' => 'Hero Layout',
|
||
'config' => [
|
||
'type' => 'select', 'renderType' => 'selectSingle', 'default' => 'fullscreen',
|
||
'items' => [
|
||
['label' => 'Fullscreen', 'value' => 'fullscreen'],
|
||
['label' => 'Medium', 'value' => 'md'],
|
||
['label' => 'Small', 'value' => 'sm'],
|
||
],
|
||
],
|
||
],
|
||
'text_theme' => [
|
||
'label' => 'Text Theme',
|
||
'config' => [
|
||
'type' => 'select', 'renderType' => 'selectSingle', 'default' => 'light',
|
||
'items' => [
|
||
['label' => 'Light', 'value' => 'light'],
|
||
['label' => 'Dark', 'value' => 'dark'],
|
||
],
|
||
],
|
||
],
|
||
],
|
||
];
|