Initial Commit
This commit is contained in:
1 parent
4f495177e4
commit
b6d2142214
166 files changed
+13952
-178
No files matched your search
+41
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
defined('TYPO3') or die();
|
||||
|
||||
(static function (): void {
|
||||
$l = 'LLL:EXT:vitec/Resources/Private/Language/locallang_pages.xlf:';
|
||||
|
||||
// Replace the default "Frontend Layout" dropdown on the page record
|
||||
// (Page Properties → Appearance → Frontend Layout) with the VITEC layouts.
|
||||
// Values are integer strings (DB column is INT).
|
||||
$GLOBALS['TCA']['pages']['columns']['layout']['config']['items'] = [
|
||||
['label' => $l . 'layout.0', 'value' => '0'],
|
||||
['label' => $l . 'layout.1', 'value' => '1'],
|
||||
['label' => $l . 'layout.2', 'value' => '2'],
|
||||
['label' => $l . 'layout.3', 'value' => '3'],
|
||||
['label' => $l . 'layout.4', 'value' => '4'],
|
||||
['label' => $l . 'layout.5', 'value' => '5'],
|
||||
['label' => $l . 'layout.6', 'value' => '6'],
|
||||
['label' => $l . 'layout.7', 'value' => '7'],
|
||||
['label' => $l . 'layout.8', 'value' => '8'],
|
||||
['label' => $l . 'layout.9', 'value' => '9'],
|
||||
['label' => $l . 'layout.10', 'value' => '10'],
|
||||
['label' => $l . 'layout.11', 'value' => '11'],
|
||||
['label' => $l . 'layout.12', 'value' => '12'],
|
||||
['label' => $l . 'layout.13', 'value' => '13'],
|
||||
['label' => $l . 'layout.14', 'value' => '14'],
|
||||
['label' => $l . 'layout.15', 'value' => '15'],
|
||||
['label' => $l . 'layout.16', 'value' => '16'],
|
||||
['label' => $l . 'layout.17', 'value' => '17'],
|
||||
['label' => $l . 'layout.18', 'value' => '18'],
|
||||
['label' => $l . 'layout.19', 'value' => '19'],
|
||||
['label' => $l . 'layout.20', 'value' => '20'],
|
||||
];
|
||||
$GLOBALS['TCA']['pages']['columns']['layout']['config']['default'] = '0';
|
||||
|
||||
// Hide the backend_layout / backend_layout_next_level fields from the editor —
|
||||
// they are auto-synced from the frontend layout via SyncBackendLayoutHook.
|
||||
$GLOBALS['TCA']['pages']['columns']['backend_layout']['displayCond'] = 'HIDE_FOR_NON_ADMINS';
|
||||
$GLOBALS['TCA']['pages']['columns']['backend_layout_next_level']['displayCond'] = 'HIDE_FOR_NON_ADMINS';
|
||||
})();
|
||||
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
// filepath: /usr/home/vitecxxx/public_html/live/extensions/vitec/Configuration/TCA/Overrides/sys_category.php
|
||||
|
||||
defined('TYPO3') || die();
|
||||
|
||||
// Add custom fields to sys_category
|
||||
$customSysCategoryColumns = [
|
||||
'class' => [
|
||||
'exclude' => true,
|
||||
'label' => 'CSS Class',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'filetype' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Filetype (2nd part of filename)',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'type' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Type - actual Type, can be different to filename',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
// Add the fields to the TCA
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('sys_category', $customSysCategoryColumns);
|
||||
|
||||
// Add the fields to the "General" tab of sys_category
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
|
||||
'sys_category',
|
||||
'class, filetype, type',
|
||||
'',
|
||||
'after:description'
|
||||
);
|
||||
@@ -0,0 +1,4 @@
|
||||
<?php
|
||||
defined('TYPO3') || die();
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('vitec', 'Configuration/TypoScript', 'VITEC');
|
||||
@@ -0,0 +1,120 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3') or die();
|
||||
|
||||
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
|
||||
use TYPO3\CMS\Extbase\Utility\ExtensionUtility;
|
||||
|
||||
// Register the Simple Card plugin
|
||||
$simplecardPluginSignature = \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'Vitec',
|
||||
'Simplecard',
|
||||
'Simple Card'
|
||||
);
|
||||
|
||||
// Register the "Single Success Story" plugin
|
||||
$usecaseShowPluginSignature = \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'Vitec',
|
||||
'Usecaseshow',
|
||||
'Single Success Story'
|
||||
);
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$usecaseShowPluginSignature] = 'pi_flexform';
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
|
||||
$usecaseShowPluginSignature,
|
||||
'FILE:EXT:vitec/Configuration/FlexForms/Usecase.xml'
|
||||
);
|
||||
|
||||
// Register the "Show Single Market" plugin
|
||||
$marketShowPluginSignature = \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'Vitec',
|
||||
'Marketshow',
|
||||
'Show Single Market'
|
||||
);
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$marketShowPluginSignature] = 'pi_flexform';
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
|
||||
$marketShowPluginSignature,
|
||||
'FILE:EXT:vitec/Configuration/FlexForms/Market.xml'
|
||||
);
|
||||
|
||||
// Register the "Show Single Solution" plugin
|
||||
$solutionShowPluginSignature = \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'Vitec',
|
||||
'Solutionshow',
|
||||
'Show Single Solution'
|
||||
);
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$solutionShowPluginSignature] = 'pi_flexform';
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
|
||||
$solutionShowPluginSignature,
|
||||
'FILE:EXT:vitec/Configuration/FlexForms/Solution.xml'
|
||||
);
|
||||
|
||||
// Register the "Show Products by Category" plugin
|
||||
$productListPluginSignature = \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'Vitec',
|
||||
'Productlist',
|
||||
'Show Products by Category'
|
||||
);
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$productListPluginSignature] = 'pi_flexform';
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
|
||||
$productListPluginSignature,
|
||||
'FILE:EXT:vitec/Configuration/FlexForms/Productlist.xml'
|
||||
);
|
||||
|
||||
// Register the "Show Single Product" plugin
|
||||
$productShowPluginSignature = \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'Vitec',
|
||||
'Productshow',
|
||||
'Show Single Product'
|
||||
);
|
||||
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$productShowPluginSignature] = 'pi_flexform';
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
|
||||
$productShowPluginSignature,
|
||||
'FILE:EXT:vitec/Configuration/FlexForms/Productshow.xml'
|
||||
);
|
||||
|
||||
// Register the "Shows List of all Success Stories" plugin
|
||||
$usecaseListPluginSignature = \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'Vitec',
|
||||
'Usecaselist',
|
||||
'Shows List of all Success Stories'
|
||||
);
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$usecaseListPluginSignature] = 'pi_flexform';
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
|
||||
$usecaseListPluginSignature,
|
||||
'FILE:EXT:vitec/Configuration/FlexForms/Usecaselist.xml'
|
||||
);
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$simplecardPluginSignature] = 'pi_flexform';
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
|
||||
$simplecardPluginSignature,
|
||||
'FILE:EXT:vitec/Configuration/FlexForms/Simplecard.xml'
|
||||
);
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist']['vitec_datasheets'] = 'recursive,select_key,pages';
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist']['vitec_datasheets'] = 'pi_flexform';
|
||||
ExtensionManagementUtility::addPiFlexFormValue(
|
||||
'vitec_datasheets',
|
||||
'FILE:EXT:vitec/Configuration/FlexForms/Datasheets.xml'
|
||||
);
|
||||
|
||||
// Change frame_class to allow multiple selections
|
||||
$GLOBALS['TCA']['tt_content']['columns']['frame_class']['config']['renderType'] = 'selectCheckBox';
|
||||
$GLOBALS['TCA']['tt_content']['columns']['frame_class']['config']['maxitems'] = 999;
|
||||
|
||||
// Add custom frame_class options for Vitec
|
||||
$GLOBALS['TCA']['tt_content']['columns']['frame_class']['config']['items'] = array_merge(
|
||||
$GLOBALS['TCA']['tt_content']['columns']['frame_class']['config']['items'],
|
||||
[
|
||||
['label' => 'Vitec: Full Width', 'value' => 'vitec-full-width'],
|
||||
['label' => 'Vitec: Centered Container', 'value' => 'vitec-centered'],
|
||||
['label' => 'Vitec: Card Style', 'value' => 'vitec-card'],
|
||||
['label' => 'Vitec: Dark Background', 'value' => 'vitec-dark'],
|
||||
['label' => 'Vitec: Highlight Box', 'value' => 'vitec-highlight'],
|
||||
]
|
||||
);
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
defined('TYPO3') or die();
|
||||
|
||||
use B13\Container\Tca\ContainerConfiguration;
|
||||
use B13\Container\Tca\Registry;
|
||||
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
|
||||
(static function (): void {
|
||||
$l = 'LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:';
|
||||
|
||||
/** @var Registry $registry */
|
||||
$registry = GeneralUtility::makeInstance(Registry::class);
|
||||
|
||||
$registry->configureContainer(
|
||||
(new ContainerConfiguration(
|
||||
'vitec_cols_25_25_25_25',
|
||||
$l . 'cols_25_25_25_25.title',
|
||||
$l . 'cols_25_25_25_25.description',
|
||||
[
|
||||
[
|
||||
['name' => $l . 'column.1', 'colPos' => 231],
|
||||
['name' => $l . 'column.2', 'colPos' => 232],
|
||||
['name' => $l . 'column.3', 'colPos' => 233],
|
||||
['name' => $l . 'column.4', 'colPos' => 234],
|
||||
],
|
||||
]
|
||||
))
|
||||
->setIcon('EXT:vitec/Resources/Public/Icons/vitec-cols-25-25-25-25.svg')
|
||||
->setGroup('vitec')
|
||||
->setSaveAndCloseInNewContentElementWizard(true)
|
||||
);
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['types']['vitec_cols_25_25_25_25']['showitem'] =
|
||||
'--palette--;;general,
|
||||
header;LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:section.heading,
|
||||
subheader;LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:section.subline,
|
||||
tx_vitec_bg_variant,
|
||||
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
|
||||
--palette--;;frames,
|
||||
--palette--;;appearanceLinks,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
|
||||
--palette--;;language,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
|
||||
--palette--;;hidden,
|
||||
--palette--;;access';
|
||||
|
||||
ExtensionManagementUtility::addPageTSConfig(<<<TSCONFIG
|
||||
mod.wizards.newContentElement.wizardItems.vitec.elements.vitec_cols_25_25_25_25 {
|
||||
iconIdentifier = vitec-cols-25-25-25-25
|
||||
title = LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:cols_25_25_25_25.title
|
||||
description = LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:cols_25_25_25_25.description
|
||||
tt_content_defValues {
|
||||
CType = vitec_cols_25_25_25_25
|
||||
}
|
||||
}
|
||||
TSCONFIG);
|
||||
})();
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
defined('TYPO3') or die();
|
||||
|
||||
use B13\Container\Tca\ContainerConfiguration;
|
||||
use B13\Container\Tca\Registry;
|
||||
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
|
||||
(static function (): void {
|
||||
$l = 'LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:';
|
||||
|
||||
/** @var Registry $registry */
|
||||
$registry = GeneralUtility::makeInstance(Registry::class);
|
||||
|
||||
$registry->configureContainer(
|
||||
(new ContainerConfiguration(
|
||||
'vitec_cols_33_33_33',
|
||||
$l . 'cols_33_33_33.title',
|
||||
$l . 'cols_33_33_33.description',
|
||||
[
|
||||
[
|
||||
['name' => $l . 'column.1', 'colPos' => 221],
|
||||
['name' => $l . 'column.2', 'colPos' => 222],
|
||||
['name' => $l . 'column.3', 'colPos' => 223],
|
||||
],
|
||||
]
|
||||
))
|
||||
->setIcon('EXT:vitec/Resources/Public/Icons/vitec-cols-33-33-33.svg')
|
||||
->setGroup('vitec')
|
||||
->setSaveAndCloseInNewContentElementWizard(true)
|
||||
);
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['types']['vitec_cols_33_33_33']['showitem'] =
|
||||
'--palette--;;general,
|
||||
header;LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:section.heading,
|
||||
subheader;LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:section.subline,
|
||||
tx_vitec_bg_variant,
|
||||
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
|
||||
--palette--;;frames,
|
||||
--palette--;;appearanceLinks,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
|
||||
--palette--;;language,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
|
||||
--palette--;;hidden,
|
||||
--palette--;;access';
|
||||
|
||||
ExtensionManagementUtility::addPageTSConfig(<<<TSCONFIG
|
||||
mod.wizards.newContentElement.wizardItems.vitec.elements.vitec_cols_33_33_33 {
|
||||
iconIdentifier = vitec-cols-33-33-33
|
||||
title = LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:cols_33_33_33.title
|
||||
description = LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:cols_33_33_33.description
|
||||
tt_content_defValues {
|
||||
CType = vitec_cols_33_33_33
|
||||
}
|
||||
}
|
||||
TSCONFIG);
|
||||
})();
|
||||
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
defined('TYPO3') or die();
|
||||
|
||||
use B13\Container\Tca\ContainerConfiguration;
|
||||
use B13\Container\Tca\Registry;
|
||||
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
|
||||
(static function (): void {
|
||||
$l = 'LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:';
|
||||
|
||||
/** @var Registry $registry */
|
||||
$registry = GeneralUtility::makeInstance(Registry::class);
|
||||
|
||||
$registry->configureContainer(
|
||||
(new ContainerConfiguration(
|
||||
'vitec_cols_33_66',
|
||||
$l . 'cols_33_66.title',
|
||||
$l . 'cols_33_66.description',
|
||||
[
|
||||
[
|
||||
['name' => $l . 'column.sidebar_33', 'colPos' => 251],
|
||||
['name' => $l . 'column.main_66', 'colPos' => 252],
|
||||
],
|
||||
]
|
||||
))
|
||||
->setIcon('EXT:vitec/Resources/Public/Icons/vitec-cols-33-66.svg')
|
||||
->setGroup('vitec')
|
||||
->setSaveAndCloseInNewContentElementWizard(true)
|
||||
);
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['types']['vitec_cols_33_66']['showitem'] =
|
||||
'--palette--;;general,
|
||||
header;LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:section.heading,
|
||||
subheader;LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:section.subline,
|
||||
tx_vitec_bg_variant,
|
||||
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
|
||||
--palette--;;frames,
|
||||
--palette--;;appearanceLinks,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
|
||||
--palette--;;language,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
|
||||
--palette--;;hidden,
|
||||
--palette--;;access';
|
||||
|
||||
ExtensionManagementUtility::addPageTSConfig(<<<TSCONFIG
|
||||
mod.wizards.newContentElement.wizardItems.vitec.elements.vitec_cols_33_66 {
|
||||
iconIdentifier = vitec-cols-33-66
|
||||
title = LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:cols_33_66.title
|
||||
description = LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:cols_33_66.description
|
||||
tt_content_defValues {
|
||||
CType = vitec_cols_33_66
|
||||
}
|
||||
}
|
||||
TSCONFIG);
|
||||
})();
|
||||
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
defined('TYPO3') or die();
|
||||
|
||||
use B13\Container\Tca\ContainerConfiguration;
|
||||
use B13\Container\Tca\Registry;
|
||||
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
|
||||
(static function (): void {
|
||||
$l = 'LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:';
|
||||
|
||||
/** @var Registry $registry */
|
||||
$registry = GeneralUtility::makeInstance(Registry::class);
|
||||
|
||||
$registry->configureContainer(
|
||||
(new ContainerConfiguration(
|
||||
'vitec_cols_50_50',
|
||||
$l . 'cols_50_50.title',
|
||||
$l . 'cols_50_50.description',
|
||||
[
|
||||
[
|
||||
['name' => $l . 'column.1', 'colPos' => 211],
|
||||
['name' => $l . 'column.2', 'colPos' => 212],
|
||||
],
|
||||
]
|
||||
))
|
||||
->setIcon('EXT:vitec/Resources/Public/Icons/vitec-cols-50-50.svg')
|
||||
->setGroup('vitec')
|
||||
->setSaveAndCloseInNewContentElementWizard(true)
|
||||
);
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['types']['vitec_cols_50_50']['showitem'] =
|
||||
'--palette--;;general,
|
||||
header;LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:section.heading,
|
||||
subheader;LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:section.subline,
|
||||
tx_vitec_bg_variant,
|
||||
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
|
||||
--palette--;;frames,
|
||||
--palette--;;appearanceLinks,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
|
||||
--palette--;;language,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
|
||||
--palette--;;hidden,
|
||||
--palette--;;access';
|
||||
|
||||
ExtensionManagementUtility::addPageTSConfig(<<<TSCONFIG
|
||||
mod.wizards.newContentElement.wizardItems.vitec.elements.vitec_cols_50_50 {
|
||||
iconIdentifier = vitec-cols-50-50
|
||||
title = LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:cols_50_50.title
|
||||
description = LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:cols_50_50.description
|
||||
tt_content_defValues {
|
||||
CType = vitec_cols_50_50
|
||||
}
|
||||
}
|
||||
TSCONFIG);
|
||||
})();
|
||||
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
defined('TYPO3') or die();
|
||||
|
||||
use B13\Container\Tca\ContainerConfiguration;
|
||||
use B13\Container\Tca\Registry;
|
||||
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
|
||||
(static function (): void {
|
||||
$l = 'LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:';
|
||||
|
||||
/** @var Registry $registry */
|
||||
$registry = GeneralUtility::makeInstance(Registry::class);
|
||||
|
||||
$registry->configureContainer(
|
||||
(new ContainerConfiguration(
|
||||
'vitec_cols_66_33',
|
||||
$l . 'cols_66_33.title',
|
||||
$l . 'cols_66_33.description',
|
||||
[
|
||||
[
|
||||
['name' => $l . 'column.main_66', 'colPos' => 241],
|
||||
['name' => $l . 'column.sidebar_33', 'colPos' => 242],
|
||||
],
|
||||
]
|
||||
))
|
||||
->setIcon('EXT:vitec/Resources/Public/Icons/vitec-cols-66-33.svg')
|
||||
->setGroup('vitec')
|
||||
->setSaveAndCloseInNewContentElementWizard(true)
|
||||
);
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['types']['vitec_cols_66_33']['showitem'] =
|
||||
'--palette--;;general,
|
||||
header;LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:section.heading,
|
||||
subheader;LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:section.subline,
|
||||
tx_vitec_bg_variant,
|
||||
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
|
||||
--palette--;;frames,
|
||||
--palette--;;appearanceLinks,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
|
||||
--palette--;;language,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
|
||||
--palette--;;hidden,
|
||||
--palette--;;access';
|
||||
|
||||
ExtensionManagementUtility::addPageTSConfig(<<<TSCONFIG
|
||||
mod.wizards.newContentElement.wizardItems.vitec.elements.vitec_cols_66_33 {
|
||||
iconIdentifier = vitec-cols-66-33
|
||||
title = LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:cols_66_33.title
|
||||
description = LLL:EXT:vitec/Resources/Private/Language/locallang_containers.xlf:cols_66_33.description
|
||||
tt_content_defValues {
|
||||
CType = vitec_cols_66_33
|
||||
}
|
||||
}
|
||||
TSCONFIG);
|
||||
})();
|
||||
@@ -0,0 +1,37 @@
|
||||
<?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);
|
||||
})();
|
||||
@@ -0,0 +1,380 @@
|
||||
<?php
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'VITEC Download',
|
||||
'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,teaser,description,sort1,sort2,sort3,icon,filepath,fileprefix',
|
||||
'iconfile' => 'EXT:vitec/Resources/Public/Icons/tx_vitec_domain_model_download.gif'
|
||||
],
|
||||
'types' => [
|
||||
'1' => ['showitem' => 'hidden, title, slug, keywords, teaser, description,
|
||||
--div--;File, useolddl, file, fileprefix, categories,
|
||||
--div--;Visibility, hideonapp, hideonwebsite, hideondatasheets, hideonproducts,
|
||||
--div--;Currently not in use,icon, filepath, private_download, onlyondatasheets, sort1, sort2, sort3,
|
||||
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'],
|
||||
],
|
||||
'columns' => [
|
||||
'sys_language_uid' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'special' => 'languages',
|
||||
'items' => [
|
||||
[
|
||||
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.allLanguages',
|
||||
-1,
|
||||
'flags-multiple'
|
||||
]
|
||||
],
|
||||
'default' => 0,
|
||||
],
|
||||
],
|
||||
'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' => [
|
||||
['', 0],
|
||||
],
|
||||
'foreign_table' => 'tx_vitec_domain_model_download',
|
||||
'foreign_table_where' => 'AND {#tx_vitec_domain_model_download}.{#pid}=###CURRENT_PID### AND {#tx_vitec_domain_model_download}.{#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' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
'invertStateDisplay' => true
|
||||
]
|
||||
],
|
||||
],
|
||||
],
|
||||
'starttime' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.starttime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'eval' => 'datetime,int',
|
||||
'default' => 0,
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true
|
||||
]
|
||||
],
|
||||
],
|
||||
'endtime' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.endtime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'eval' => 'datetime,int',
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'upper' => mktime(0, 0, 0, 1, 1, 2038)
|
||||
],
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true
|
||||
]
|
||||
],
|
||||
],
|
||||
'categories' => [
|
||||
'config' => [
|
||||
'type' => 'category'
|
||||
]
|
||||
],
|
||||
'title' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Title',
|
||||
'description' => 'Title of the Download - this will be shown in search results',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'teaser' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Teaser Text for Download Cards',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'slug' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Slug',
|
||||
'config' => [
|
||||
'type' => 'slug',
|
||||
'generatorOptions' => [
|
||||
'fields' => ['title'],
|
||||
'fieldSeparator' => '/',
|
||||
'prefixParentPageSlug' => true,
|
||||
'replacements' => [
|
||||
'/' => '',
|
||||
],
|
||||
],
|
||||
'fallbackCharacter' => '-',
|
||||
'eval' => 'unique',
|
||||
],
|
||||
],
|
||||
'keywords' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Keywords for internal search engine',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'description' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Description',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'enableRichtext' => true,
|
||||
'richtextConfiguration' => 'default',
|
||||
'fieldControl' => [
|
||||
'fullScreenRichtext' => [
|
||||
'disabled' => false,
|
||||
],
|
||||
],
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
|
||||
],
|
||||
'file' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Manual File Upload - if "Use manual file upload" is checked',
|
||||
'config' => [
|
||||
'type' => 'file',
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:media.addFileReference'
|
||||
],
|
||||
'foreign_types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
]
|
||||
],
|
||||
'foreign_match_fields' => [
|
||||
'fieldname' => 'file',
|
||||
'tablenames' => 'tx_vitec_domain_model_download',
|
||||
],
|
||||
'maxitems' => 1
|
||||
],
|
||||
],
|
||||
'sort1' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_domain_model_download.sort1',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'sort2' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_domain_model_download.sort2',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'sort3' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_domain_model_download.sort3',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'private_download' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_domain_model_download.private_download',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
]
|
||||
],
|
||||
'default' => 0,
|
||||
]
|
||||
],
|
||||
'hideonapp' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Do not show this Download in the App',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
]
|
||||
],
|
||||
'default' => 0,
|
||||
]
|
||||
],
|
||||
'hideonwebsite' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Do not show this Download on the Website',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
]
|
||||
],
|
||||
'default' => 0,
|
||||
]
|
||||
],
|
||||
'hideondatasheets' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Do not show this Download on the Datasheets-Page',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
]
|
||||
],
|
||||
'default' => 0,
|
||||
]
|
||||
],
|
||||
'hideonproducts' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Do not show this Download on a Products-Page',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
]
|
||||
],
|
||||
'default' => 0,
|
||||
]
|
||||
],
|
||||
'icon' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_domain_model_download.icon',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'filepath' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_domain_model_download.filepath',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'fileprefix' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Fileprefix (1st part of filename)',
|
||||
'description' => 'This is the first part of the filename.',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'useolddl' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Use manual file upload',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
]
|
||||
],
|
||||
'default' => 0,
|
||||
]
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,204 @@
|
||||
<?php
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'VITEC Market',
|
||||
'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,subtitle,teaser',
|
||||
'iconfile' => 'EXT:vitec/Resources/Public/Icons/tx_vitec_domain_model_market.gif',
|
||||
'security' => [
|
||||
'ignorePageTypeRestriction' => true,
|
||||
],
|
||||
],
|
||||
'types' => [
|
||||
'1' => [
|
||||
'showitem' => 'title, subtitle, teaser, description, image,
|
||||
--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' => [
|
||||
['', 0],
|
||||
],
|
||||
'foreign_table' => 'tx_vitec_domain_model_market',
|
||||
'foreign_table_where' => 'AND {#tx_vitec_domain_model_market}.{#pid}=###CURRENT_PID### AND {#tx_vitec_domain_model_market}.{#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' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
'invertStateDisplay' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'starttime' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.starttime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'eval' => 'datetime,int',
|
||||
'default' => 0,
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
'endtime' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.endtime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'eval' => 'datetime,int',
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'upper' => mktime(0, 0, 0, 1, 1, 2038),
|
||||
],
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
'title' => [
|
||||
'exclude' => false,
|
||||
'label' => 'Title',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'required' => true,
|
||||
'default' => '',
|
||||
],
|
||||
],
|
||||
'subtitle' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Subtitle',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => '',
|
||||
],
|
||||
],
|
||||
'teaser' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Short Teaser (optional)',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => '',
|
||||
],
|
||||
],
|
||||
'description' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Description',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'enableRichtext' => true,
|
||||
'eval' => 'trim',
|
||||
'default' => '',
|
||||
],
|
||||
'defaultExtras' => 'richtext:rte_transform[mode=ts_css]',
|
||||
],
|
||||
'categories' => [
|
||||
'config' => [
|
||||
'type' => 'category',
|
||||
],
|
||||
],
|
||||
'image' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Image',
|
||||
'config' => [
|
||||
'type' => 'inline',
|
||||
'foreign_table' => 'sys_file_reference',
|
||||
'foreign_field' => 'uid_foreign',
|
||||
'foreign_sortby' => 'sorting_foreign',
|
||||
'foreign_table_field' => 'tablenames',
|
||||
'foreign_match_fields' => [
|
||||
'fieldname' => 'image',
|
||||
],
|
||||
'foreign_label' => 'uid_local',
|
||||
'foreign_selector' => 'uid_local',
|
||||
'overrideChildTca' => [
|
||||
'columns' => [
|
||||
'uid_local' => [
|
||||
'config' => [
|
||||
'appearance' => [
|
||||
'elementBrowserType' => 'file',
|
||||
'elementBrowserAllowed' => 'jpg,jpeg,png,gif,webp,svg',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;;imageoverlayPalette,
|
||||
--palette--;;filePalette',
|
||||
],
|
||||
],
|
||||
],
|
||||
'maxitems' => 1,
|
||||
'appearance' => [
|
||||
'headerThumbnail' => [
|
||||
'field' => 'uid_local',
|
||||
'width' => '45',
|
||||
'height' => '45',
|
||||
],
|
||||
'enabledControls' => [
|
||||
'info' => true,
|
||||
'new' => false,
|
||||
'dragdrop' => true,
|
||||
'sort' => false,
|
||||
'hide' => true,
|
||||
'delete' => true,
|
||||
],
|
||||
'fileUploadAllowed' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,541 @@
|
||||
<?php
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'VITEC Product',
|
||||
'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',
|
||||
'iconfile' => 'EXT:vitec/Resources/Public/Icons/tx_vitec_domain_model_product.gif',
|
||||
'security' => [
|
||||
'ignorePageTypeRestriction' => true,
|
||||
],
|
||||
],
|
||||
'types' => [
|
||||
'1' => ['showitem' => 'title, subtitle, slug, teaser, description, applications, highlights, contentelement, contentelementcta, downloads,
|
||||
--div--;SEO, seotitle, urltitle, seometa, keywords, structureddata,
|
||||
--div--;Images and Videos, productimage, ogimage, video,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories, categories,
|
||||
--div--;Visibility, hideonapp, hideonwebsite, hideondatasheets, hideonproducts, shortcut, shortcutpid,
|
||||
--div--;Misc, legacy, supportproduct, subproduct, relatedprodukt,
|
||||
--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' => [
|
||||
['', 0],
|
||||
],
|
||||
'foreign_table' => 'tx_vitec_domain_model_product',
|
||||
'foreign_table_where' => 'AND {#tx_vitec_domain_model_product}.{#pid}=###CURRENT_PID### AND {#tx_vitec_domain_model_product}.{#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' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
'invertStateDisplay' => true
|
||||
]
|
||||
],
|
||||
],
|
||||
],
|
||||
'starttime' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.starttime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'eval' => 'datetime,int',
|
||||
'default' => 0,
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true
|
||||
]
|
||||
],
|
||||
],
|
||||
'endtime' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.endtime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'eval' => 'datetime,int',
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'upper' => mktime(0, 0, 0, 1, 1, 2038)
|
||||
],
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true
|
||||
]
|
||||
],
|
||||
],
|
||||
'categories' => [
|
||||
'config' => [
|
||||
'type' => 'category'
|
||||
]
|
||||
],
|
||||
'title' => [
|
||||
'exclude' => false,
|
||||
'label' => 'LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_domain_model_product.title',
|
||||
'description' => 'LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_domain_model_product.title.description',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'required' => true,
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'slug' => [
|
||||
'exclude' => false,
|
||||
'label' => 'LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_domain_model_product.slug',
|
||||
'description' => 'LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_domain_model_product.slug.description',
|
||||
'config' => [
|
||||
'type' => 'slug',
|
||||
'size' => 50,
|
||||
'generatorOptions' => [
|
||||
'fields' => ['title'], // TODO: adjust this field to the one you want to use
|
||||
'fieldSeparator' => '-',
|
||||
'replacements' => [
|
||||
'/' => '',
|
||||
],
|
||||
],
|
||||
'fallbackCharacter' => '-',
|
||||
'eval' => 'uniqueInPid',
|
||||
],
|
||||
|
||||
],
|
||||
'seotitle' => [
|
||||
'exclude' => false,
|
||||
'label' => 'SEO-Title',
|
||||
'description' => 'SEO specific title, used for sharing options',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'urltitle' => [
|
||||
'exclude' => false,
|
||||
'label' => 'URL-Title',
|
||||
'description' => 'LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_domain_model_product.urltitle.description',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'video' => [
|
||||
'exclude' => false,
|
||||
'label' => 'Product Video - just the Youtube Clip ID',
|
||||
'description' => 'Product Video - just the Youtube Clip ID',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'downloads' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Downloads',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectMultipleSideBySide',
|
||||
'foreign_table' => 'tx_vitec_domain_model_download',
|
||||
'MM' => 'tx_vitec_product_download_mm', // Define the MM table for the relation
|
||||
'size' => 10,
|
||||
'maxitems' => 9999,
|
||||
'minitems' => 0,
|
||||
'enableMultiSelectFilterTextfield' => true, // Optional: Adds a search box for filtering
|
||||
],
|
||||
],
|
||||
'structureddata' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Structured Data in JSON Format',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim'
|
||||
]
|
||||
],
|
||||
'keywords' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Keywords',
|
||||
'description' => 'Keywords for SEO, separated by commas',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim'
|
||||
]
|
||||
],
|
||||
'seometa' => [
|
||||
'exclude' => true,
|
||||
'label' => 'SEO Meta Description',
|
||||
'description' => 'SEO specific meta description, used for sharing options',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim'
|
||||
]
|
||||
],
|
||||
'teaser' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Short Teaser (optional)',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
|
||||
'subtitle' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Subtitle',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'hideonapp' => [
|
||||
'exclude' => true,
|
||||
'label' => 'If checked - Product will not be shown on App',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
'invertStateDisplay' => false
|
||||
]
|
||||
],
|
||||
],
|
||||
],
|
||||
'hideonwebsite' => [
|
||||
'exclude' => true,
|
||||
'label' => 'If checked - Product will not be shown on Website',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
'invertStateDisplay' => false
|
||||
]
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'hideonproducts' => [
|
||||
'exclude' => true,
|
||||
'label' => 'If checked - Product will not be shown on Product Section',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
'invertStateDisplay' => false
|
||||
]
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'hideondatasheets' => [
|
||||
'exclude' => true,
|
||||
'label' => 'If checked - Product will not be shown on Datasheets Page',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
'invertStateDisplay' => false
|
||||
]
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'applications' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Applications',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'enableRichtext' => 'true',
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
'defaultExtras' => 'richtext:rte_transform[mode=ts_css]'
|
||||
],
|
||||
'description' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Description',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'enableRichtext' => 'true',
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
'defaultExtras' => 'richtext:rte_transform[mode=ts_css]'
|
||||
],
|
||||
|
||||
'highlights' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Highlights',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'enableRichtext' => 'true',
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
'defaultExtras' => 'richtext:rte_transform[mode=ts_css]'
|
||||
],
|
||||
|
||||
'shortcut' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Does this Product have a custom Page',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
'invertStateDisplay' => false
|
||||
]
|
||||
],
|
||||
],
|
||||
],
|
||||
'shortcutpid' => [
|
||||
'exclude' => false,
|
||||
'label' => 'Page ID',
|
||||
'description' => 'PID of the custom page',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
|
||||
'legacy' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Is this a legacy produc?',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
'invertStateDisplay' => false
|
||||
]
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'supportproduct' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Is this a support product?',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
'invertStateDisplay' => false
|
||||
]
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'subproduct' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Product is a sub-products',
|
||||
'description' => 'This Product will not be shown as a main product',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
'invertStateDisplay' => false
|
||||
]
|
||||
],
|
||||
],
|
||||
],
|
||||
'relatedprodukt' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Related Products',
|
||||
'description' => 'Select related products for this product',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectMultipleSideBySide',
|
||||
'foreign_table' => 'tx_vitec_domain_model_product', // Reference the same table
|
||||
'MM' => 'tx_vitec_product_related_mm', // Define the MM table for the relation
|
||||
'size' => 10,
|
||||
'maxitems' => 9999,
|
||||
'minitems' => 0,
|
||||
'enableMultiSelectFilterTextfield' => true, // Optional: Adds a search box for filtering
|
||||
],
|
||||
],
|
||||
'productimage' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Product Image(s)',
|
||||
'config' => [
|
||||
'type' => 'inline',
|
||||
'foreign_table' => 'sys_file_reference',
|
||||
'foreign_field' => 'uid_foreign',
|
||||
'foreign_sortby' => 'sorting_foreign',
|
||||
'foreign_table_field' => 'tablenames',
|
||||
'foreign_match_fields' => [
|
||||
'fieldname' => 'productimage',
|
||||
],
|
||||
'appearance' => [
|
||||
'collapseAll' => true,
|
||||
'levelLinksPosition' => 'top',
|
||||
'showSynchronizationLink' => true,
|
||||
'showPossibleLocalizationRecords' => true,
|
||||
'showAllLocalizationLink' => true,
|
||||
],
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
'filter' => [
|
||||
[
|
||||
'userFunc' => \TYPO3\CMS\Core\Resource\Filter\FileExtensionFilter::class . '->filterInlineChildren',
|
||||
'parameters' => [
|
||||
'allowedFileExtensions' => 'jpg,jpeg,png,gif',
|
||||
],
|
||||
],
|
||||
],
|
||||
'maxitems' => 10,
|
||||
'minitems' => 0,
|
||||
],
|
||||
],
|
||||
|
||||
'ogimage' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Open Graph Image',
|
||||
'config' => [
|
||||
'type' => 'inline',
|
||||
'foreign_table' => 'sys_file_reference',
|
||||
'foreign_field' => 'uid_foreign',
|
||||
'foreign_sortby' => 'sorting_foreign',
|
||||
'foreign_table_field' => 'tablenames',
|
||||
'foreign_match_fields' => [
|
||||
'fieldname' => 'ogimage',
|
||||
],
|
||||
'appearance' => [
|
||||
'collapseAll' => true,
|
||||
'levelLinksPosition' => 'top',
|
||||
'showSynchronizationLink' => true,
|
||||
'showPossibleLocalizationRecords' => true,
|
||||
'showAllLocalizationLink' => true,
|
||||
],
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
'filter' => [
|
||||
[
|
||||
'userFunc' => \TYPO3\CMS\Core\Resource\Filter\FileExtensionFilter::class . '->filterInlineChildren',
|
||||
'parameters' => [
|
||||
'allowedFileExtensions' => 'jpg,jpeg,png,gif,webp',
|
||||
],
|
||||
],
|
||||
],
|
||||
'maxitems' => 1, // Allow only one image
|
||||
'minitems' => 0,
|
||||
],
|
||||
],
|
||||
|
||||
'contentelement' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Select Content Element for Key Features Section',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputLink',
|
||||
'softref' => 'typolink',
|
||||
'eval' => 'trim',
|
||||
'fieldControl' => [
|
||||
'linkPopup' => [
|
||||
'options' => [
|
||||
'title' => 'Select Content Element',
|
||||
'blindLinkOptions' => 'mail,folder,url', // Disable unnecessary link types
|
||||
'blindLinkFields' => 'class,params', // Disable unnecessary fields
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'contentelementcta' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Select Content Element for CTA Section',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputLink',
|
||||
'softref' => 'typolink',
|
||||
'eval' => 'trim',
|
||||
'fieldControl' => [
|
||||
'linkPopup' => [
|
||||
'options' => [
|
||||
'title' => 'Select Content Element',
|
||||
'blindLinkOptions' => 'mail,folder,url', // Disable unnecessary link types
|
||||
'blindLinkFields' => 'class,params', // Disable unnecessary fields
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
/* ----------------------------------------------------- */
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,204 @@
|
||||
<?php
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'VITEC Solution',
|
||||
'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,subtitle,teaser',
|
||||
'iconfile' => 'EXT:vitec/Resources/Public/Icons/tx_vitec_domain_model_solution.gif',
|
||||
'security' => [
|
||||
'ignorePageTypeRestriction' => true,
|
||||
],
|
||||
],
|
||||
'types' => [
|
||||
'1' => [
|
||||
'showitem' => 'title, subtitle, teaser, description, image,
|
||||
--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' => [
|
||||
['', 0],
|
||||
],
|
||||
'foreign_table' => 'tx_vitec_domain_model_solution',
|
||||
'foreign_table_where' => 'AND {#tx_vitec_domain_model_solution}.{#pid}=###CURRENT_PID### AND {#tx_vitec_domain_model_solution}.{#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' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
'invertStateDisplay' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'starttime' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.starttime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'eval' => 'datetime,int',
|
||||
'default' => 0,
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
'endtime' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.endtime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'eval' => 'datetime,int',
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'upper' => mktime(0, 0, 0, 1, 1, 2038),
|
||||
],
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
'title' => [
|
||||
'exclude' => false,
|
||||
'label' => 'Title',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'required' => true,
|
||||
'default' => '',
|
||||
],
|
||||
],
|
||||
'subtitle' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Subtitle',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => '',
|
||||
],
|
||||
],
|
||||
'teaser' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Short Teaser (optional)',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => '',
|
||||
],
|
||||
],
|
||||
'description' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Description',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'enableRichtext' => true,
|
||||
'eval' => 'trim',
|
||||
'default' => '',
|
||||
],
|
||||
'defaultExtras' => 'richtext:rte_transform[mode=ts_css]',
|
||||
],
|
||||
'categories' => [
|
||||
'config' => [
|
||||
'type' => 'category',
|
||||
],
|
||||
],
|
||||
'image' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Image',
|
||||
'config' => [
|
||||
'type' => 'inline',
|
||||
'foreign_table' => 'sys_file_reference',
|
||||
'foreign_field' => 'uid_foreign',
|
||||
'foreign_sortby' => 'sorting_foreign',
|
||||
'foreign_table_field' => 'tablenames',
|
||||
'foreign_match_fields' => [
|
||||
'fieldname' => 'image',
|
||||
],
|
||||
'foreign_label' => 'uid_local',
|
||||
'foreign_selector' => 'uid_local',
|
||||
'overrideChildTca' => [
|
||||
'columns' => [
|
||||
'uid_local' => [
|
||||
'config' => [
|
||||
'appearance' => [
|
||||
'elementBrowserType' => 'file',
|
||||
'elementBrowserAllowed' => 'jpg,jpeg,png,gif,webp,svg',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;;imageoverlayPalette,
|
||||
--palette--;;filePalette',
|
||||
],
|
||||
],
|
||||
],
|
||||
'maxitems' => 1,
|
||||
'appearance' => [
|
||||
'headerThumbnail' => [
|
||||
'field' => 'uid_local',
|
||||
'width' => '45',
|
||||
'height' => '45',
|
||||
],
|
||||
'enabledControls' => [
|
||||
'info' => true,
|
||||
'new' => false,
|
||||
'dragdrop' => true,
|
||||
'sort' => false,
|
||||
'hide' => true,
|
||||
'delete' => true,
|
||||
],
|
||||
'fileUploadAllowed' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,318 @@
|
||||
<?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',
|
||||
'iconfile' => 'EXT:vitec/Resources/Public/Icons/tx_vitec_domain_model_usecase.gif',
|
||||
'security' => [
|
||||
'ignorePageTypeRestriction' => true,
|
||||
],
|
||||
],
|
||||
'types' => [
|
||||
'1' => ['showitem' => 'title, slug, subtitle, teaser, description, singlepid, caseimage, logoimage,
|
||||
--div--;Visibility, hideonapp, hideonwebsite,
|
||||
--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:categories, categories,
|
||||
--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' => [
|
||||
['', 0],
|
||||
],
|
||||
'foreign_table' => 'tx_vitec_domain_model_download',
|
||||
'foreign_table_where' => 'AND {#tx_vitec_domain_model_download}.{#pid}=###CURRENT_PID### AND {#tx_vitec_domain_model_download}.{#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' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
'invertStateDisplay' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'starttime' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.starttime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'eval' => 'datetime,int',
|
||||
'default' => 0,
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
'endtime' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.endtime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'eval' => 'datetime,int',
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'upper' => mktime(0, 0, 0, 1, 1, 2038),
|
||||
],
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'title' => [
|
||||
'exclude' => false,
|
||||
'label' => 'LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_domain_model_download.title',
|
||||
'description' => 'LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_domain_model_download.title.description',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'required' => true,
|
||||
'default' => '',
|
||||
],
|
||||
],
|
||||
'slug' => [
|
||||
'exclude' => false,
|
||||
'label' => 'LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_domain_model_download.slug',
|
||||
'description' => 'LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_domain_model_download.slug.description',
|
||||
'config' => [
|
||||
'type' => 'slug',
|
||||
'size' => 50,
|
||||
'generatorOptions' => [
|
||||
'fields' => ['title'], // TODO: adjust this field to the one you want to use
|
||||
'fieldSeparator' => '-',
|
||||
'replacements' => [
|
||||
'/' => '',
|
||||
],
|
||||
],
|
||||
'fallbackCharacter' => '-',
|
||||
'eval' => 'uniqueInPid',
|
||||
],
|
||||
|
||||
],
|
||||
'singlepid' => [
|
||||
'exclude' => false,
|
||||
'label' => 'Page ID of Success Story',
|
||||
'description' => 'LLL:EXT:vitec/Resources/Private/Language/locallang_db.xlf:tx_vitec_domain_model_download.title.description',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'required' => false,
|
||||
'default' => '',
|
||||
],
|
||||
],
|
||||
'teaser' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Short Teaser (optional)',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => '',
|
||||
],
|
||||
],
|
||||
'subtitle' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Subtitle',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => '',
|
||||
],
|
||||
],
|
||||
'hideonapp' => [
|
||||
'exclude' => true,
|
||||
'label' => 'If checked - Product will not be shown on App',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
'invertStateDisplay' => false,
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'hideonwebsite' => [
|
||||
'exclude' => true,
|
||||
'label' => 'If checked - Product will not be shown on Website',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
'invertStateDisplay' => false,
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'description' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Description',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'enableRichtext' => 'true',
|
||||
'eval' => 'trim',
|
||||
'default' => '',
|
||||
],
|
||||
'defaultExtras' => 'richtext:rte_transform[mode=ts_css]',
|
||||
],
|
||||
'caseimage' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Case Image',
|
||||
'config' => [
|
||||
'type' => 'inline',
|
||||
'foreign_table' => 'sys_file_reference',
|
||||
'foreign_field' => 'uid_foreign',
|
||||
'foreign_sortby' => 'sorting_foreign',
|
||||
'foreign_table_field' => 'tablenames',
|
||||
'foreign_match_fields' => [
|
||||
'fieldname' => 'caseimage',
|
||||
],
|
||||
'foreign_label' => 'uid_local',
|
||||
'foreign_selector' => 'uid_local',
|
||||
'overrideChildTca' => [
|
||||
'columns' => [
|
||||
'uid_local' => [
|
||||
'config' => [
|
||||
'appearance' => [
|
||||
'elementBrowserType' => 'file',
|
||||
'elementBrowserAllowed' => 'jpg,jpeg,png,gif',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;;imageoverlayPalette,
|
||||
--palette--;;filePalette',
|
||||
],
|
||||
],
|
||||
],
|
||||
'maxitems' => 1,
|
||||
'appearance' => [
|
||||
'headerThumbnail' => [
|
||||
'field' => 'uid_local',
|
||||
'width' => '45',
|
||||
'height' => '45',
|
||||
],
|
||||
'enabledControls' => [
|
||||
'info' => true,
|
||||
'new' => false,
|
||||
'dragdrop' => true,
|
||||
'sort' => false,
|
||||
'hide' => true,
|
||||
'delete' => true,
|
||||
],
|
||||
'fileUploadAllowed' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
'logoimage' => [
|
||||
'exclude' => true,
|
||||
'label' => 'Customer Logo',
|
||||
'config' => [
|
||||
'type' => 'inline',
|
||||
'foreign_table' => 'sys_file_reference',
|
||||
'foreign_field' => 'uid_foreign',
|
||||
'foreign_sortby' => 'sorting_foreign',
|
||||
'foreign_table_field' => 'tablenames',
|
||||
'foreign_match_fields' => [
|
||||
'fieldname' => 'logoimage',
|
||||
],
|
||||
'foreign_label' => 'uid_local',
|
||||
'foreign_selector' => 'uid_local',
|
||||
'overrideChildTca' => [
|
||||
'columns' => [
|
||||
'uid_local' => [
|
||||
'config' => [
|
||||
'appearance' => [
|
||||
'elementBrowserType' => 'file',
|
||||
'elementBrowserAllowed' => 'jpg,jpeg,png,gif',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;;imageoverlayPalette,
|
||||
--palette--;;filePalette',
|
||||
],
|
||||
],
|
||||
],
|
||||
'maxitems' => 1,
|
||||
'appearance' => [
|
||||
'headerThumbnail' => [
|
||||
'field' => 'uid_local',
|
||||
'width' => '45',
|
||||
'height' => '45',
|
||||
],
|
||||
'enabledControls' => [
|
||||
'info' => true,
|
||||
'new' => false,
|
||||
'dragdrop' => true,
|
||||
'sort' => false,
|
||||
'hide' => true,
|
||||
'delete' => true,
|
||||
],
|
||||
'fileUploadAllowed' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
'categories' => [
|
||||
'config' => [
|
||||
'type' => 'category'
|
||||
]
|
||||
],
|
||||
],
|
||||
];
|
||||
Reference in new issue
Block a user