first commit

This commit is contained in:
salam committed 2026-10-06 19:40:28 +02:00
commit e81864e683
2984 files changed
+267797

No files matched your search

@@ -0,0 +1,186 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Register PageTS
// BackendLayouts
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts.tsconfig',
'Bootstrap Package: Backend Layouts'
);
// TCEMAIN
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/TCEMAIN.tsconfig',
'Bootstrap Package: TCEMAIN'
);
// TCEFORM
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/TCEFORM.tsconfig',
'Bootstrap Package: TCEFORM'
);
// Content Elements
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/All.tsconfig',
'Bootstrap Package: All Content Elements'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Categories.tsconfig',
'Bootstrap Package: Categories for Content Elements'
);
// Register fields
$GLOBALS['TCA']['pages']['columns'] = array_replace_recursive(
$GLOBALS['TCA']['pages']['columns'],
[
'nav_icon_set' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.icon_set',
'onChange' => 'reload',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'itemsProcFunc' => 'BK2K\BootstrapPackage\Service\IconService->getIconSetItems',
],
],
'nav_icon_identifier' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.icon',
'displayCond' => 'FIELD:nav_icon_set:REQ:true',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'itemsProcFunc' => 'BK2K\BootstrapPackage\Service\IconService->getIconItems',
'itemsProcConfig' => [
'iconSetField' => 'nav_icon_set'
],
'fieldWizard' => [
'selectIcons' => [
'renderType' => 'iconWizard',
'disabled' => false,
],
],
],
],
'nav_icon' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:pages.nav_icon',
'displayCond' => 'FIELD:nav_icon_set:REQ:false',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'nav_icon',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;;filePalette
'
],
],
],
'maxitems' => 1,
],
'gif,png,svg'
),
],
'thumbnail' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:pages.thumbnail',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'thumbnail',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
title,
alternative,
crop,
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;;filePalette
'
],
],
],
'minitems' => 0,
'maxitems' => 1,
],
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
'l10n_mode' => 'exclude',
],
]
);
// Assign position to fields
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('pages', 'nav_icon_set', '1,3,4', 'after:nav_title');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('pages', 'nav_icon_identifier', '1,3,4', 'after:nav_icon_set');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('pages', 'nav_icon', '1,3,4', 'after:nav_icon_set');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('pages', 'thumbnail', '1,3,4', 'after:backend_layout_next_level');
@@ -0,0 +1,50 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
/***************
* TypoScript: Full Package
* This includes the full setup including all configurations
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
'bootstrap_package',
'Configuration/TypoScript',
'Bootstrap Package: Full Package'
);
/***************
* TypoScript: Content Elements
* Include only the configuration for content elements
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
'bootstrap_package',
'Configuration/TypoScript/ContentElement',
'Bootstrap Package: Content Elements'
);
/***************
* TypoScript: Framework
* Include Bootstrap 4.x (SCSS) Assets
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
'bootstrap_package',
'Configuration/TypoScript/Bootstrap4',
'Bootstrap Package: Bootstrap 4.x (SCSS)'
);
/***************
* TypoScript: Framework
* Include Bootstrap 5.x (SCSS) Assets
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
'bootstrap_package',
'Configuration/TypoScript/Bootstrap5',
'Bootstrap Package: Bootstrap 5.x (SCSS)'
);
@@ -0,0 +1,19 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add content element group to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItemGroup(
'tt_content',
'CType',
'bootstrap_package',
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:theme_name',
'after:default'
);
@@ -0,0 +1,100 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['accordion'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['accordion'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Accordion.tsconfig',
'Bootstrap Package Content Element: Accordion'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.accordion',
'accordion',
'content-bootstrappackage-accordion',
'bootstrap_package'
]
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['accordion'] = 'content-bootstrappackage-accordion';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['accordion'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['accordion'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
tx_bootstrappackage_accordion_item,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
// Register fields
$GLOBALS['TCA']['tt_content']['columns'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['columns'],
[
'tx_bootstrappackage_accordion_item' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item',
'config' => [
'type' => 'inline',
'foreign_table' => 'tx_bootstrappackage_accordion_item',
'foreign_field' => 'tt_content',
'appearance' => [
'useSortable' => true,
'showSynchronizationLink' => true,
'showAllLocalizationLink' => true,
'showPossibleLocalizationRecords' => true,
'expandSingle' => true,
'enabledControls' => [
'localize' => true,
]
],
'behaviour' => [
'mode' => 'select',
]
]
]
]
);
// Add flexForms for content element configuration
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/Accordion.xml',
'accordion'
);
@@ -0,0 +1,90 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['audio'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['audio'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Audio.tsconfig',
'Bootstrap Package Content Element: Audio'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.audio',
'audio',
'content-audio',
'bootstrap_package'
],
'accordion',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['audio'] = 'content-audio';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['audio'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['audio'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.media,
assets,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
',
'columnsOverrides' => [
'assets' => [
'config' => [
'filter' => [
0 => [
'parameters' => [
'allowedFileExtensions' => 'mp3'
]
]
],
'overrideChildTca' => [
'columns' => [
'uid_local' => [
'config' => [
'appearance' => [
'elementBrowserAllowed' => 'mp3'
]
]
]
]
]
]
]
]
]
);
@@ -0,0 +1,17 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Bullets.tsconfig',
'Bootstrap Package Content Element: Bullet List'
);
@@ -0,0 +1,102 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['card_group'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['card_group'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/CardGroup.tsconfig',
'Bootstrap Package Content Element: Card Group'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.card_group',
'card_group',
'content-bootstrappackage-card-group',
'bootstrap_package'
],
'audio',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['card_group'] = 'content-bootstrappackage-card-group';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['card_group'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['card_group'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
tx_bootstrappackage_card_group_item,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.card_group.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
// Register fields
$GLOBALS['TCA']['tt_content']['columns'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['columns'],
[
'tx_bootstrappackage_card_group_item' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:card_group_item',
'config' => [
'type' => 'inline',
'foreign_table' => 'tx_bootstrappackage_card_group_item',
'foreign_field' => 'tt_content',
'appearance' => [
'useSortable' => true,
'showSynchronizationLink' => true,
'showAllLocalizationLink' => true,
'showPossibleLocalizationRecords' => true,
'expandSingle' => true,
'enabledControls' => [
'localize' => true,
]
],
'behaviour' => [
'mode' => 'select',
]
]
]
]
);
// Add flexForms for content element configuration
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/CardGroup.xml',
'card_group'
);
@@ -0,0 +1,74 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['carousel'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['carousel'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Carousel.tsconfig',
'Bootstrap Package Content Element: Carousel'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.carousel',
'carousel',
'content-bootstrappackage-carousel',
'bootstrap_package'
],
'card_group',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['carousel'] = 'content-bootstrappackage-carousel';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['carousel'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['carousel'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
tx_bootstrappackage_carousel_item,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
// Add flexForms for content element configuration
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/Carousel.xml',
'carousel'
);
@@ -0,0 +1,74 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['carousel_small'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['carousel_small'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/CarouselSmall.tsconfig',
'Bootstrap Package Content Element: Carousel Small'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.carousel_small',
'carousel_small',
'content-bootstrappackage-carousel',
'bootstrap_package'
],
'carousel',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['carousel_small'] = 'content-bootstrappackage-carousel';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['carousel_small'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['carousel_small'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
tx_bootstrappackage_carousel_item,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
// Add flexForms for content element configuration
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/Carousel.xml',
'carousel_small'
);
@@ -0,0 +1,74 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['carousel_fullscreen'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['carousel_fullscreen'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/CarouselFullscreen.tsconfig',
'Bootstrap Package Content Element: Carousel Fullscreen'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.carousel_fullscreen',
'carousel_fullscreen',
'content-bootstrappackage-carousel',
'bootstrap_package'
],
'carousel_small',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['carousel_fullscreen'] = 'content-bootstrappackage-carousel';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['carousel_fullscreen'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['carousel_fullscreen'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
tx_bootstrappackage_carousel_item,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
// Add flexForms for content element configuration
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/Carousel.xml',
'carousel_fullscreen'
);
@@ -0,0 +1,93 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['csv'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['csv'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Csv.tsconfig',
'Bootstrap Package Content Element: CSV'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.csv',
'csv',
'content-bootstrappackage-csv',
'bootstrap_package'
],
'carousel_fullscreen',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['csv'] = 'content-bootstrappackage-csv';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['csv'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['csv'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
media;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:media.ALT.uploads_formlabel,
--palette--;;tableconfiguration,
--palette--;;tablelayout,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
',
'columnsOverrides' => [
'media' => [
'config' => [
'filter' => [
0 => [
'parameters' => [
'allowedFileExtensions' => 'csv'
]
]
],
'minitems' => 0,
'maxitems' => 1,
'overrideChildTca' => [
'columns' => [
'uid_local' => [
'config' => [
'appearance' => [
'elementBrowserAllowed' => 'csv'
]
]
]
]
]
]
]
]
]
);
@@ -0,0 +1,100 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['external_media'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['external_media'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/ExternalMedia.tsconfig',
'Bootstrap Package Content Element: External Media'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.external_media',
'external_media',
'content-bootstrappackage-externalmedia',
'bootstrap_package'
],
'csv',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['external_media'] = 'content-bootstrappackage-externalmedia';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['external_media'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['external_media'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
--palette--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.palette.external_media;external_media,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
// Register fields
$GLOBALS['TCA']['tt_content']['columns'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['columns'],
[
'external_media_source' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.external_media_source',
'config' => [
'type' => 'input',
'size' => 50,
'eval' => 'trim',
'max' => 1024,
]
],
'external_media_ratio' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.external_media_ratio',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['16:9', '16by9'],
['4:3', '4by3'],
]
]
]
]
);
// Register palettes
$GLOBALS['TCA']['tt_content']['palettes']['external_media'] = [
'showitem' => '
external_media_source, --linebreak--,
external_media_ratio
'
];
@@ -0,0 +1,17 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Header.tsconfig',
'Bootstrap Package Content Element: Header'
);
@@ -0,0 +1,102 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['icon_group'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['icon_group'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/IconGroup.tsconfig',
'Bootstrap Package Content Element: Icon Group'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.icon_group',
'icon_group',
'content-bootstrappackage-icon-group',
'bootstrap_package'
],
'external_media',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['icon_group'] = 'content-bootstrappackage-icon-group';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['icon_group'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['icon_group'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
tx_bootstrappackage_icon_group_item,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.icon_group.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
// Register fields
$GLOBALS['TCA']['tt_content']['columns'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['columns'],
[
'tx_bootstrappackage_icon_group_item' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:icon_group_item',
'config' => [
'type' => 'inline',
'foreign_table' => 'tx_bootstrappackage_icon_group_item',
'foreign_field' => 'tt_content',
'appearance' => [
'useSortable' => true,
'showSynchronizationLink' => true,
'showAllLocalizationLink' => true,
'showPossibleLocalizationRecords' => true,
'expandSingle' => true,
'enabledControls' => [
'localize' => true,
]
],
'behaviour' => [
'mode' => 'select',
]
]
]
]
);
// Add flexForms for content element configuration
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/IconGroup.xml',
'icon_group'
);
@@ -0,0 +1,25 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Image.tsconfig',
'Bootstrap Package Content Element: Image'
);
// Add additional fields
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
'tt_content',
'file_folder, filelink_sorting',
'image',
'after:image'
);
@@ -0,0 +1,73 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['listgroup'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['listgroup'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/ListGroup.tsconfig',
'Bootstrap Package Content Element: List Group'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.listgroup',
'listgroup',
'content-bootstrappackage-listgroup',
'bootstrap_package'
],
'icon_group',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['listgroup'] = 'content-bootstrappackage-listgroup';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['listgroup'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['listgroup'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
bodytext,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
',
'columnsOverrides' => [
'bodytext' => [
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext.ALT.bulletlist_formlabel',
'config' => [
'wrap' => 'off',
]
]
]
]
);
@@ -0,0 +1,95 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['media'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['media'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Media.tsconfig',
'Bootstrap Package Content Element: Media'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.media',
'media',
'mimetypes-x-content-multimedia',
'bootstrap_package'
],
'listgroup',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['media'] = 'mimetypes-x-content-multimedia';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['media'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['media'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.media,
assets,
file_folder,
filelink_sorting,
--palette--;LLL:EXT:frontend/Resources/Private/Language/Database.xlf:tt_content.palette.mediaAdjustments;mediaAdjustments,
--palette--;LLL:EXT:frontend/Resources/Private/Language/Database.xlf:tt_content.palette.gallerySettings;gallerySettings,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.imagelinks;imagelinks,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
',
'columnsOverrides' => [
'assets' => [
'config' => [
'filter' => [
0 => [
'parameters' => [
'allowedFileExtensions' => 'youtube, vimeo'
]
]
],
'overrideChildTca' => [
'columns' => [
'uid_local' => [
'config' => [
'appearance' => [
'elementBrowserAllowed' => 'youtube, vimeo'
]
]
]
]
]
]
]
]
]
);
@@ -0,0 +1,77 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Enable Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['menu_card_list'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['menu_card_list'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/MenuCardList.tsconfig',
'Bootstrap Package Content Element: Menu Cards'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.card_list',
'menu_card_list',
'content-bootstrappackage-menu-card',
'bootstrap_package'
],
'media',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['menu_card_list'] = 'content-bootstrappackage-menu-card';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['menu_card_list'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['menu_card_list'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
readmore_label,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.card.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.accessibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.menu_accessibility;menu_accessibility,
--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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
// Add flexForms for content element configuration
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/MenuCard.xml',
'menu_card_list'
);
@@ -0,0 +1,77 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Enable Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['menu_card_dir'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['menu_card_dir'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/MenuCardDir.tsconfig',
'Bootstrap Package Content Element: Menu Cards of subpages'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.card_dir',
'menu_card_dir',
'content-bootstrappackage-menu-card',
'bootstrap_package'
],
'menu_card_list',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['menu_card_dir'] = 'content-bootstrappackage-menu-card';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['menu_card_dir'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['menu_card_dir'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
readmore_label,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.card.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.accessibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.menu_accessibility;menu_accessibility,
--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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
// Add flexForms for content element configuration
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/MenuCard.xml',
'menu_card_dir'
);
@@ -0,0 +1,76 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Enable Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['menu_thumbnail_list'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['menu_thumbnail_list'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/MenuThumbnailList.tsconfig',
'Bootstrap Package Content Element: Menu Thumbnails'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.thumbnail_list',
'menu_thumbnail_list',
'content-menu-thumbnail',
'bootstrap_package'
],
'menu_card_dir',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['menu_thumbnail_list'] = 'content-menu-thumbnail';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['menu_thumbnail_list'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['menu_thumbnail_list'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.thumbnail.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.accessibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.menu_accessibility;menu_accessibility,
--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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
// Add flexForms for content element configuration
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/MenuThumbnail.xml',
'menu_thumbnail_list'
);
@@ -0,0 +1,76 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Enable Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['menu_thumbnail_dir'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['menu_thumbnail_dir'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/MenuThumbnailDir.tsconfig',
'Bootstrap Package Content Element: Menu Thumbnails of subpages'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.thumbnail_dir',
'menu_thumbnail_dir',
'content-menu-thumbnail',
'bootstrap_package'
],
'menu_thumbnail_list',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['menu_thumbnail_dir'] = 'content-menu-thumbnail';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['menu_thumbnail_dir'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['menu_thumbnail_dir'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.thumbnail.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.accessibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.menu_accessibility;menu_accessibility,
--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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
// Add flexForms for content element configuration
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/MenuThumbnail.xml',
'menu_thumbnail_dir'
);
@@ -0,0 +1,103 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['panel'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['panel'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Panel.tsconfig',
'Bootstrap Package Content Element: Panel'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.panel',
'panel',
'content-panel',
'bootstrap_package'
],
'menu_thumbnail_dir',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['panel'] = 'content-panel';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['panel'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['panel'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.header;header_minimal,
bodytext,
panel_class,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
',
'columnsOverrides' => [
'bodytext' => [
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext_formlabel',
'config' => [
'enableRichtext' => true
]
]
]
]
);
// Register fields
$GLOBALS['TCA']['tt_content']['columns'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['columns'],
[
'panel_class' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.panel_class',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.default', 'default'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.primary', 'primary'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.secondary', 'secondary'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.tertiary', 'tertiary'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.quaternary', 'quaternary'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.success', 'success'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.info', 'info'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.warning', 'warning'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.danger', 'danger'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.lighter', 'lighter'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.light', 'light'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.dark', 'dark'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.darker', 'darker'],
],
],
],
]
);
@@ -0,0 +1,101 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['quote'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['quote'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Quote.tsconfig',
'Bootstrap Package Content Element: Quote'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.quote',
'quote',
'content-quote',
'bootstrap_package'
],
'panel',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['quote'] = 'content-quote';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['quote'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['quote'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.ALT.div_formlabel,
quote_link;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:quote.link,
quote_source;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:quote.source,
bodytext;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:quote.text,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
// Register fields
$GLOBALS['TCA']['tt_content']['columns'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['columns'],
[
'quote_source' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:quote.source',
'config' => [
'type' => 'input',
'size' => 50,
'max' => 255
]
],
'quote_link' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:quote.link',
'config' => [
'type' => 'input',
'renderType' => 'inputLink',
'size' => 50,
'max' => 1024,
'eval' => 'trim',
'fieldControl' => [
'linkPopup' => [
'options' => [
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:quote.link',
],
],
],
'softref' => 'typolink'
]
],
]
);
@@ -0,0 +1,72 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['social_links'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['social_links'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/SocialLinks.tsconfig',
'Bootstrap Package Content Element: Social Links'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.social_links',
'social_links',
'content-bootstrappackage-social-links',
'bootstrap_package'
],
'quote',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['social_links'] = 'content-bootstrappackage-social-links';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['social_links'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['social_links'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
',
'columnsOverrides' => [
'bodytext' => [
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext_formlabel',
'config' => [
'enableRichtext' => true
]
]
]
]
);
@@ -0,0 +1,102 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['tab'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['tab'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Tab.tsconfig',
'Bootstrap Package Content Element: Tab'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.tab',
'tab',
'content-bootstrappackage-tab',
'bootstrap_package'
],
'social_links',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['tab'] = 'content-bootstrappackage-tab';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['tab'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['tab'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
tx_bootstrappackage_tab_item,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
// Register fields
$GLOBALS['TCA']['tt_content']['columns'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['columns'],
[
'tx_bootstrappackage_tab_item' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item',
'config' => [
'type' => 'inline',
'foreign_table' => 'tx_bootstrappackage_tab_item',
'foreign_field' => 'tt_content',
'appearance' => [
'useSortable' => true,
'showSynchronizationLink' => true,
'showAllLocalizationLink' => true,
'showPossibleLocalizationRecords' => true,
'expandSingle' => true,
'enabledControls' => [
'localize' => true,
]
],
'behaviour' => [
'mode' => 'select',
]
]
]
]
);
// Add flexForms for content element configuration
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/Tab.xml',
'tab'
);
@@ -0,0 +1,17 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Table.tsconfig',
'Bootstrap Package Content Element: Table'
);
@@ -0,0 +1,17 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Text.tsconfig',
'Bootstrap Package Content Element: Text'
);
@@ -0,0 +1,73 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['textcolumn'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['textcolumn'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Textcolumn.tsconfig',
'Bootstrap Package Content Element: Text in Columns'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.textcolumn',
'textcolumn',
'content-text-columns',
'bootstrap_package'
],
'tab',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['textcolumn'] = 'content-text-columns';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['textcolumn'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['textcolumn'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
bodytext,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
',
'columnsOverrides' => [
'bodytext' => [
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext_formlabel',
'config' => [
'enableRichtext' => true
]
]
]
]
);
@@ -0,0 +1,222 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['texticon'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['texticon'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Texticon.tsconfig',
'Bootstrap Package Content Element: Text and Icon'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.texticon',
'texticon',
'content-bootstrappackage-texticon',
'bootstrap_package'
],
'textcolumn',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['texticon'] = 'content-bootstrappackage-texticon';
// Register palettes
$GLOBALS['TCA']['tt_content']['palettes']['bootstrap_package_icons'] = [
'showitem' => '
icon_position, icon_type, icon_size, --linebreak--,
icon_color, icon_background, --linebreak--,
icon_set, --linebreak--,
icon, icon_file
'
];
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['texticon'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['texticon'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
bodytext,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tabs.icon,
--palette--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.icon;bootstrap_package_icons,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
',
'columnsOverrides' => [
'bodytext' => [
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext_formlabel',
'config' => [
'enableRichtext' => true
]
]
]
]
);
// Register fields
$GLOBALS['TCA']['tt_content']['columns'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['columns'],
[
'icon_set' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.icon_set',
'onChange' => 'reload',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'itemsProcFunc' => 'BK2K\BootstrapPackage\Service\IconService->getIconSetItems',
],
],
'icon' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.icon',
'displayCond' => 'FIELD:icon_set:REQ:true',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'itemsProcFunc' => 'BK2K\BootstrapPackage\Service\IconService->getIconItems',
'fieldWizard' => [
'selectIcons' => [
'renderType' => 'iconWizard',
'disabled' => false,
],
],
],
],
'icon_file' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.icon_file',
'displayCond' => 'FIELD:icon_set:REQ:false',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'icon_file',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;;filePalette
'
],
],
],
'minitems' => 1,
'maxitems' => 1,
],
'gif,png,svg'
),
],
'icon_position' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.icon_position',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.left', 'left'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.right', 'right'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.top', 'top'],
],
],
],
'icon_type' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.icon_type',
'onChange' => 'reload',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'default' => 'default',
'items' => [
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.default', 'default'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.square', 'square'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.circle', 'circle'],
],
],
],
'icon_size' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.icon_size',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.default', 'default'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.medium', 'medium'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.large', 'large'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.awesome', 'awesome'],
],
],
],
'icon_color' => [
'displayCond' => 'FIELD:icon_type:!=:default',
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.icon_color',
'config' => [
'type' => 'input',
'renderType' => 'colorpicker',
'default' => '#FFFFFF',
],
],
'icon_background' => [
'displayCond' => 'FIELD:icon_type:!=:default',
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.icon_background',
'config' => [
'type' => 'input',
'renderType' => 'colorpicker',
'default' => '#333333',
],
],
]
);
@@ -0,0 +1,17 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Textmedia.tsconfig',
'Bootstrap Package Content Element: Text and Media'
);
@@ -0,0 +1,25 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Textpic.tsconfig',
'Bootstrap Package Content Element: Text and Images'
);
// Add additional fields
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
'tt_content',
'file_folder, filelink_sorting',
'textpic',
'after:image'
);
@@ -0,0 +1,74 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['textteaser'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['textteaser'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Textteaser.tsconfig',
'Bootstrap Package Content Element: Text with Teaser'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.textteaser',
'textteaser',
'content-text-teaser',
'bootstrap_package'
],
'texticon',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['textteaser'] = 'content-text-teaser';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['textteaser'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['textteaser'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
teaser,
bodytext,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
',
'columnsOverrides' => [
'bodytext' => [
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext_formlabel',
'config' => [
'enableRichtext' => true
]
]
]
]
);
@@ -0,0 +1,102 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['timeline'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['timeline'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Timeline.tsconfig',
'Bootstrap Package Content Element: Timeline'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.timeline',
'timeline',
'content-bootstrappackage-timeline',
'bootstrap_package'
],
'textteaser',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['timeline'] = 'content-bootstrappackage-timeline';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['timeline'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['timeline'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
tx_bootstrappackage_timeline_item,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:timeline.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;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--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
// Register fields
$GLOBALS['TCA']['tt_content']['columns'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['columns'],
[
'tx_bootstrappackage_timeline_item' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:timeline_item',
'config' => [
'type' => 'inline',
'foreign_table' => 'tx_bootstrappackage_timeline_item',
'foreign_field' => 'tt_content',
'appearance' => [
'useSortable' => true,
'showSynchronizationLink' => true,
'showAllLocalizationLink' => true,
'showPossibleLocalizationRecords' => true,
'expandSingle' => true,
'enabledControls' => [
'localize' => true,
]
],
'behaviour' => [
'mode' => 'select',
]
]
]
]
);
// Add flexForms for content element configuration
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/Timeline.xml',
'timeline'
);
@@ -0,0 +1,17 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Uploads.tsconfig',
'Bootstrap Package Content Element: File Links'
);
@@ -0,0 +1,79 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Content Element
if (!is_array($GLOBALS['TCA']['tt_content']['types']['gallery'] ?? false)) {
$GLOBALS['TCA']['tt_content']['types']['gallery'] = [];
}
// Add content element PageTSConfig
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'bootstrap_package',
'Configuration/TsConfig/Page/ContentElement/Element/Gallery.tsconfig',
'Bootstrap Package Content Element: Gallery'
);
// Add content element to selector list
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.gallery',
'gallery',
'content-bootstrappackage-gallery',
'bootstrap_package'
],
'external_media',
'after'
);
// Assign Icon
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['gallery'] = 'content-bootstrappackage-gallery';
// Configure element type
$GLOBALS['TCA']['tt_content']['types']['gallery'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['gallery'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;;general,
--palette--;;headers,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.images,
image,
file_folder,
filelink_sorting,
--palette--;;mediaAdjustments,
--palette--;;gallerySettings,
--palette--;;imagelinks,
--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,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended
'
]
);
// Add additional fields
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
'tt_content',
'aspect_ratio, items_per_page',
'gallery',
'after:imagecols'
);
@@ -0,0 +1,221 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Adjust columns for generic usage
$GLOBALS['TCA']['tt_content']['columns']['frame_layout'] = [
'exclude' => true,
'displayCond' => 'FIELD:frame_class:!=:none',
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.frame_layout',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['default', 'default'],
['embedded', 'embedded']
]
],
'l10n_mode' => 'exclude',
];
$GLOBALS['TCA']['tt_content']['columns']['background_color_class'] = [
'exclude' => true,
'displayCond' => 'FIELD:frame_class:!=:none',
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.background_color_class',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['none', 'none'],
['primary', 'primary'],
['secondary', 'secondary'],
['tertiary', 'tertiary'],
['quaternary', 'quaternary'],
['light', 'light'],
['dark', 'dark']
]
],
'l10n_mode' => 'exclude',
];
$GLOBALS['TCA']['tt_content']['columns']['background_image'] = [
'exclude' => true,
'displayCond' => 'FIELD:frame_class:!=:none',
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.background_image',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'background_image',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
crop,
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;;filePalette
'
],
],
],
'minitems' => 0,
'maxitems' => 1,
],
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
'l10n_mode' => 'exclude',
];
$GLOBALS['TCA']['tt_content']['columns']['background_image_options'] = [
'exclude' => true,
'displayCond' => 'FIELD:frame_class:!=:none',
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.background_image_options',
'config' => [
'type' => 'flex',
'ds' => [
'default' => 'FILE:EXT:bootstrap_package/Configuration/FlexForms/BackgroundImage.xml',
],
],
'l10n_mode' => 'exclude',
];
$GLOBALS['TCA']['tt_content']['columns']['readmore_label'] = [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.readmore_label',
'config' => [
'type' => 'input',
'eval' => 'trim',
'size' => 50,
'max' => 255
]
];
$GLOBALS['TCA']['tt_content']['columns']['teaser'] = [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.teaser',
'exclude' => true,
'config' => [
'type' => 'text',
'softref' => 'typolink_tag',
'cols' => '40',
'rows' => '3'
]
];
$GLOBALS['TCA']['tt_content']['columns']['tx_bootstrappackage_carousel_item'] = [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item',
'config' => [
'type' => 'inline',
'foreign_table' => 'tx_bootstrappackage_carousel_item',
'foreign_field' => 'tt_content',
'appearance' => [
'useSortable' => true,
'showSynchronizationLink' => true,
'showAllLocalizationLink' => true,
'showPossibleLocalizationRecords' => true,
'expandSingle' => true,
'enabledControls' => [
'localize' => true,
]
],
'behaviour' => [
'mode' => 'select',
]
]
];
$GLOBALS['TCA']['tt_content']['columns']['file_folder'] = [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.file_folder',
'config' => [
'type' => 'group',
'internal_type' => 'folder',
]
];
$GLOBALS['TCA']['tt_content']['columns']['aspect_ratio'] = [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.aspect_ratio',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:ratio.4_3', (string) (4/3)],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:ratio.16_9', (string) (16/9)],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:ratio.1_1', (string) (1/1)],
]
],
'l10n_mode' => 'exclude',
];
$GLOBALS['TCA']['tt_content']['columns']['items_per_page'] = [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.items_per_page',
'config' => [
'type' => 'input',
'size' => 2,
'eval' => 'trim,int',
'range' => [
'lower' => 1,
'upper' => 50,
],
'default' => 10,
],
'l10n_mode' => 'exclude',
];
// Adjust default fields
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'imageorient',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.imageorient.125',
(string) 125,
'content-bootstrappackage-beside-text-img-centered-right'
],
(string) 125,
'after'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'imageorient',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.imageorient.126',
(string) 126,
'content-bootstrappackage-beside-text-img-centered-left'
],
(string) 126,
'after'
);
$GLOBALS['TCA']['tt_content']['columns']['frame_class']['onChange'] = 'reload';
// Add fields to default palettes
$GLOBALS['TCA']['tt_content']['palettes']['frames']['showitem'] .= '
--linebreak--,
frame_layout,
--linebreak--,
background_color_class,
--linebreak--,
background_image,
background_image_options,
';
@@ -0,0 +1,19 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add Palettes for Generic usage
$GLOBALS['TCA']['tt_content']['palettes']['header_minimal'] = [
'showitem' => '
header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header_formlabel,
--linebreak--,
header_layout;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header_layout_formlabel,
'
];
@@ -0,0 +1,23 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Activate T3EDITOR if extension is activated
if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('t3editor')) {
$GLOBALS['TCA']['tx_bootstrappackage_carousel_item']['types']['html']['columnsOverrides'] = [
'bodytext' => [
'config' => [
'renderType' => 't3editor',
'wrap' => 'off',
'format' => 'html'
]
]
];
}
@@ -0,0 +1,148 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Add crop variants
$defaultCropSettings = [
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.default',
'allowedAspectRatios' => [
'16:9' => [
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:ratio.16_9',
'value' => 16 / 9
],
'4:3' => [
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:ratio.4_3',
'value' => 4 / 3
],
'1:1' => [
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:ratio.1_1',
'value' => 1.0
],
'NaN' => [
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:ratio.free',
'value' => 0.0
],
],
'selectedRatio' => 'NaN',
'cropArea' => [
'x' => 0.0,
'y' => 0.0,
'width' => 1.0,
'height' => 1.0,
]
];
$xlargeCropSettings = $defaultCropSettings;
$xlargeCropSettings['title'] = 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.xlarge';
$largeCropSettings = $defaultCropSettings;
$largeCropSettings['title'] = 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.large';
$mediumCropSettings = $defaultCropSettings;
$mediumCropSettings['title'] = 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.medium';
$smallCropSettings = $defaultCropSettings;
$smallCropSettings['title'] = 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.small';
$extrasmallCropSettings = $defaultCropSettings;
$extrasmallCropSettings['title'] = 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.extrasmall';
// Content Element Background Image
$GLOBALS['TCA']['tt_content']['columns']['background_image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['default'] = $defaultCropSettings;
$GLOBALS['TCA']['tt_content']['columns']['background_image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['xlarge'] = $xlargeCropSettings;
$GLOBALS['TCA']['tt_content']['columns']['background_image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['large'] = $largeCropSettings;
$GLOBALS['TCA']['tt_content']['columns']['background_image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['medium'] = $mediumCropSettings;
$GLOBALS['TCA']['tt_content']['columns']['background_image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['small'] = $smallCropSettings;
$GLOBALS['TCA']['tt_content']['columns']['background_image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['extrasmall'] = $extrasmallCropSettings;
// Image content element
$GLOBALS['TCA']['tt_content']['types']['image']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['default'] = $defaultCropSettings;
$GLOBALS['TCA']['tt_content']['types']['image']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['xlarge'] = $xlargeCropSettings;
$GLOBALS['TCA']['tt_content']['types']['image']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['large'] = $largeCropSettings;
$GLOBALS['TCA']['tt_content']['types']['image']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['medium'] = $mediumCropSettings;
$GLOBALS['TCA']['tt_content']['types']['image']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['small'] = $smallCropSettings;
$GLOBALS['TCA']['tt_content']['types']['image']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['extrasmall'] = $extrasmallCropSettings;
// Textpic content element
$GLOBALS['TCA']['tt_content']['types']['textpic']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['default'] = $defaultCropSettings;
$GLOBALS['TCA']['tt_content']['types']['textpic']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['xlarge'] = $xlargeCropSettings;
$GLOBALS['TCA']['tt_content']['types']['textpic']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['large'] = $largeCropSettings;
$GLOBALS['TCA']['tt_content']['types']['textpic']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['medium'] = $mediumCropSettings;
$GLOBALS['TCA']['tt_content']['types']['textpic']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['small'] = $smallCropSettings;
$GLOBALS['TCA']['tt_content']['types']['textpic']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['extrasmall'] = $extrasmallCropSettings;
// Media content element
$GLOBALS['TCA']['tt_content']['types']['media']['columnsOverrides']['assets']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['default'] = $defaultCropSettings;
$GLOBALS['TCA']['tt_content']['types']['media']['columnsOverrides']['assets']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['xlarge'] = $xlargeCropSettings;
$GLOBALS['TCA']['tt_content']['types']['media']['columnsOverrides']['assets']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['large'] = $largeCropSettings;
$GLOBALS['TCA']['tt_content']['types']['media']['columnsOverrides']['assets']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['medium'] = $mediumCropSettings;
$GLOBALS['TCA']['tt_content']['types']['media']['columnsOverrides']['assets']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['small'] = $smallCropSettings;
$GLOBALS['TCA']['tt_content']['types']['media']['columnsOverrides']['assets']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['extrasmall'] = $extrasmallCropSettings;
// Textmedia content element
$GLOBALS['TCA']['tt_content']['types']['textmedia']['columnsOverrides']['assets']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['default'] = $defaultCropSettings;
$GLOBALS['TCA']['tt_content']['types']['textmedia']['columnsOverrides']['assets']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['xlarge'] = $xlargeCropSettings;
$GLOBALS['TCA']['tt_content']['types']['textmedia']['columnsOverrides']['assets']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['large'] = $largeCropSettings;
$GLOBALS['TCA']['tt_content']['types']['textmedia']['columnsOverrides']['assets']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['medium'] = $mediumCropSettings;
$GLOBALS['TCA']['tt_content']['types']['textmedia']['columnsOverrides']['assets']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['small'] = $smallCropSettings;
$GLOBALS['TCA']['tt_content']['types']['textmedia']['columnsOverrides']['assets']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['extrasmall'] = $extrasmallCropSettings;
// Card Group
$GLOBALS['TCA']['tx_bootstrappackage_card_group_item']['types']['1']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['default'] = $defaultCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_card_group_item']['types']['1']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['xlarge'] = $xlargeCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_card_group_item']['types']['1']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['large'] = $largeCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_card_group_item']['types']['1']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['medium'] = $mediumCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_card_group_item']['types']['1']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['small'] = $smallCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_card_group_item']['types']['1']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['extrasmall'] = $extrasmallCropSettings;
// Accordion
$GLOBALS['TCA']['tx_bootstrappackage_accordion_item']['types']['1']['columnsOverrides']['media']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['default'] = $defaultCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_accordion_item']['types']['1']['columnsOverrides']['media']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['xlarge'] = $xlargeCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_accordion_item']['types']['1']['columnsOverrides']['media']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['large'] = $largeCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_accordion_item']['types']['1']['columnsOverrides']['media']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['medium'] = $mediumCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_accordion_item']['types']['1']['columnsOverrides']['media']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['small'] = $smallCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_accordion_item']['types']['1']['columnsOverrides']['media']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['extrasmall'] = $extrasmallCropSettings;
// Carousel Background Image
$GLOBALS['TCA']['tx_bootstrappackage_carousel_item']['columns']['background_image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['default'] = $defaultCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_carousel_item']['columns']['background_image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['xlarge'] = $xlargeCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_carousel_item']['columns']['background_image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['large'] = $largeCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_carousel_item']['columns']['background_image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['medium'] = $mediumCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_carousel_item']['columns']['background_image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['small'] = $smallCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_carousel_item']['columns']['background_image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['extrasmall'] = $extrasmallCropSettings;
// Carousel Image
$GLOBALS['TCA']['tx_bootstrappackage_carousel_item']['columns']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['default'] = $defaultCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_carousel_item']['columns']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['xlarge'] = $xlargeCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_carousel_item']['columns']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['large'] = $largeCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_carousel_item']['columns']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['medium'] = $mediumCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_carousel_item']['columns']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['small'] = $smallCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_carousel_item']['columns']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['extrasmall'] = $extrasmallCropSettings;
// Tab
$GLOBALS['TCA']['tx_bootstrappackage_tab_item']['types']['1']['columnsOverrides']['media']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['default'] = $defaultCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_tab_item']['types']['1']['columnsOverrides']['media']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['xlarge'] = $xlargeCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_tab_item']['types']['1']['columnsOverrides']['media']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['large'] = $largeCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_tab_item']['types']['1']['columnsOverrides']['media']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['medium'] = $mediumCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_tab_item']['types']['1']['columnsOverrides']['media']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['small'] = $smallCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_tab_item']['types']['1']['columnsOverrides']['media']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['extrasmall'] = $extrasmallCropSettings;
// Timeline
$GLOBALS['TCA']['tx_bootstrappackage_timeline_item']['types']['1']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['default'] = $defaultCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_timeline_item']['types']['1']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['xlarge'] = $xlargeCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_timeline_item']['types']['1']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['large'] = $largeCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_timeline_item']['types']['1']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['medium'] = $mediumCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_timeline_item']['types']['1']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['small'] = $smallCropSettings;
$GLOBALS['TCA']['tx_bootstrappackage_timeline_item']['types']['1']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['extrasmall'] = $extrasmallCropSettings;
// Pages
foreach ([1, 3, 4] as $type) {
$GLOBALS['TCA']['pages']['types'][$type]['columnsOverrides']['thumbnail']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['default'] = $defaultCropSettings;
$GLOBALS['TCA']['pages']['types'][$type]['columnsOverrides']['thumbnail']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['xlarge'] = $xlargeCropSettings;
$GLOBALS['TCA']['pages']['types'][$type]['columnsOverrides']['thumbnail']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['large'] = $largeCropSettings;
$GLOBALS['TCA']['pages']['types'][$type]['columnsOverrides']['thumbnail']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['medium'] = $mediumCropSettings;
$GLOBALS['TCA']['pages']['types'][$type]['columnsOverrides']['thumbnail']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['small'] = $smallCropSettings;
$GLOBALS['TCA']['pages']['types'][$type]['columnsOverrides']['thumbnail']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['extrasmall'] = $extrasmallCropSettings;
}
@@ -0,0 +1,152 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3') or die('Access denied.');
// Activate extension container if extension is activated
if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('container')) {
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\B13\Container\Tca\Registry::class)->configureContainer(
(
new \B13\Container\Tca\ContainerConfiguration(
'container_1_columns',
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.container_1_columns.name',
'',
[
[
[
'name' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.column.middle',
'colPos' => 201
]
]
]
)
)->setIcon('EXT:bootstrap_package/Resources/Public/Icons/ContentElements/container-columns-1.svg')
);
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\B13\Container\Tca\Registry::class)->configureContainer(
(
new \B13\Container\Tca\ContainerConfiguration(
'container_2_columns',
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.container_2_columns.name',
'',
[
[
[
'name' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.column.left',
'colPos' => 201
],
[
'name' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.column.right',
'colPos' => 202
]
]
]
)
)->setIcon('EXT:bootstrap_package/Resources/Public/Icons/ContentElements/container-columns-2.svg')
);
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\B13\Container\Tca\Registry::class)->configureContainer(
(
new \B13\Container\Tca\ContainerConfiguration(
'container_2_columns_right',
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.container_2_columns_right.name',
'',
[
[
[
'name' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.column.left',
'colspan' => 1,
'colPos' => 201
],
[
'name' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.column.right',
'colspan' => 3,
'colPos' => 202
]
]
]
)
)->setIcon('EXT:bootstrap_package/Resources/Public/Icons/ContentElements/container-columns-2-right.svg')
);
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\B13\Container\Tca\Registry::class)->configureContainer(
(
new \B13\Container\Tca\ContainerConfiguration(
'container_2_columns_left',
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.container_2_columns_left.name',
'',
[
[
[
'name' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.column.left',
'colspan' => 3,
'colPos' => 201
],
[
'name' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.column.right',
'colspan' => 2,
'colPos' => 202
]
]
]
)
)->setIcon('EXT:bootstrap_package/Resources/Public/Icons/ContentElements/container-columns-2-left.svg')
);
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\B13\Container\Tca\Registry::class)->configureContainer(
(
new \B13\Container\Tca\ContainerConfiguration(
'container_3_columns',
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.container_3_columns.name',
'',
[
[
[
'name' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.column.left',
'colPos' => 201
],
[
'name' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.column.middle',
'colPos' => 203
],
[
'name' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.column.right',
'colPos' => 202
]
]
]
)
)->setIcon('EXT:bootstrap_package/Resources/Public/Icons/ContentElements/container-columns-3.svg')
);
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\B13\Container\Tca\Registry::class)->configureContainer(
(
new \B13\Container\Tca\ContainerConfiguration(
'container_4_columns',
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.container_4_columns.name',
'',
[
[
[
'name' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.column.left',
'colPos' => 201
],
[
'name' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.column.middle_left',
'colPos' => 203
],
[
'name' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.column.middle_right',
'colPos' => 204
],
[
'name' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:container.column.right',
'colPos' => 202
]
]
]
)
)->setIcon('EXT:bootstrap_package/Resources/Public/Icons/ContentElements/container-columns-4.svg')
);
}
@@ -0,0 +1,341 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('lang')) {
$generalLanguageFile = 'EXT:lang/Resources/Private/Language/locallang_general.xlf';
} else {
$generalLanguageFile = 'EXT:core/Resources/Private/Language/locallang_general.xlf';
}
return [
'ctrl' => [
'label' => 'header',
'label_alt' => 'bodytext',
'sortby' => 'sorting',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'cruser_id' => 'cruser_id',
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item',
'delete' => 'deleted',
'versioningWS' => true,
'origUid' => 't3_origuid',
'hideTable' => true,
'hideAtCopy' => true,
'prependAtCopy' => 'LLL:' . $generalLanguageFile . ':LGL.prependAtCopy',
'transOrigPointerField' => 'l10n_parent',
'transOrigDiffSourceField' => 'l10n_diffsource',
'languageField' => 'sys_language_uid',
'enablecolumns' => [
'disabled' => 'hidden',
'starttime' => 'starttime',
'endtime' => 'endtime',
],
'typeicon_classes' => [
'default' => 'content-bootstrappackage-accordion-item',
]
],
'interface' => [
'showRecordFieldList' => '
hidden,
tt_content,
header,
bodytext
',
],
'types' => [
'1' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
header,
bodytext,
media,
--palette--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.mediaposition;mediaposition,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
],
'palettes' => [
'1' => [
'showitem' => ''
],
'access' => [
'showitem' => '
starttime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:starttime_formlabel,
endtime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:endtime_formlabel
'
],
'general' => [
'showitem' => '
tt_content
'
],
'mediaposition' => [
'showitem' => '
mediaorient,
imagecols,
image_zoom,
'
],
'visibility' => [
'showitem' => '
hidden;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item
'
],
// hidden but needs to be included all the time, so sys_language_uid is set correctly
'hiddenLanguagePalette' => [
'showitem' => 'sys_language_uid, l10n_parent',
'isHiddenPalette' => true,
],
],
'columns' => [
'tt_content' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.tt_content',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'tt_content',
'foreign_table_where' => 'AND tt_content.pid=###CURRENT_PID### AND tt_content.{#CType}=\'accordion\'',
'maxitems' => 1,
'default' => 0,
],
],
'hidden' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.hidden',
'config' => [
'type' => 'check',
'items' => [
'1' => [
'0' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:hidden.I.0'
]
]
]
],
'starttime' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.starttime',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime',
'default' => 0
],
'l10n_mode' => 'exclude',
'l10n_display' => 'defaultAsReadonly'
],
'endtime' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.endtime',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime',
'default' => 0,
'range' => [
'upper' => mktime(0, 0, 0, 1, 1, 2038)
]
],
'l10n_mode' => 'exclude',
'l10n_display' => 'defaultAsReadonly'
],
'sys_language_uid' => [
'exclude' => 1,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.language',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'sys_language',
'foreign_table_where' => 'ORDER BY sys_language.title',
'items' => [
[
'LLL:' . $generalLanguageFile . ':LGL.allLanguages',
-1
],
[
'LLL:' . $generalLanguageFile . ':LGL.default_value',
0
]
],
'allowNonIdValues' => true,
]
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 1,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.l18n_parent',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'',
0
]
],
'foreign_table' => 'tx_bootstrappackage_accordion_item',
'foreign_table_where' => 'AND tx_bootstrappackage_accordion_item.pid=###CURRENT_PID### AND tx_bootstrappackage_accordion_item.sys_language_uid IN (-1,0)',
'default' => 0
]
],
'l10n_diffsource' => [
'config' => [
'type' => 'passthrough'
]
],
'header' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.header',
'config' => [
'type' => 'input',
'size' => 50,
'eval' => 'trim,required'
],
],
'bodytext' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.bodytext',
'l10n_mode' => 'prefixLangTitle',
'l10n_cat' => 'text',
'config' => [
'type' => 'text',
'cols' => '80',
'rows' => '15',
'softref' => 'typolink_tag,email[subst],url',
'enableRichtext' => true
],
],
'media' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.media',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'media',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.audioOverlayPalette;audioOverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.videoOverlayPalette;videoOverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
]
]
]
],
$GLOBALS['TYPO3_CONF_VARS']['SYS']['mediafile_ext']
),
],
'mediaorient' => [
'exclude' => 1,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.mediaorient',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.mediaorient.left',
'left'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.mediaorient.top',
'top'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.mediaorient.right',
'right'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.mediaorient.bottom',
'bottom'
],
],
'default' => 'left',
],
'l10n_mode' => 'exclude'
],
'imagecols' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.imagecols',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'1',
1
],
[
'2',
2
],
[
'3',
3
],
[
'4',
4
],
[
'5',
5
],
[
'6',
6
]
],
'default' => 2
],
'l10n_mode' => 'exclude'
],
'image_zoom' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.image_zoom',
'config' => [
'type' => 'check',
'items' => [
[
0 => '',
1 => '',
]
],
]
]
]
];
@@ -0,0 +1,420 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('lang')) {
$generalLanguageFile = 'EXT:lang/Resources/Private/Language/locallang_general.xlf';
} else {
$generalLanguageFile = 'EXT:core/Resources/Private/Language/locallang_general.xlf';
}
return [
'ctrl' => [
'label' => 'header',
'sortby' => 'sorting',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'cruser_id' => 'cruser_id',
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:card_group_item',
'delete' => 'deleted',
'versioningWS' => true,
'origUid' => 't3_origuid',
'hideTable' => true,
'hideAtCopy' => true,
'prependAtCopy' => 'LLL:' . $generalLanguageFile . ':LGL.prependAtCopy',
'transOrigPointerField' => 'l10n_parent',
'transOrigDiffSourceField' => 'l10n_diffsource',
'languageField' => 'sys_language_uid',
'enablecolumns' => [
'disabled' => 'hidden',
'starttime' => 'starttime',
'endtime' => 'endtime',
],
'typeicon_classes' => [
'default' => 'content-bootstrappackage-card-group-item'
],
],
'interface' => [
'showRecordFieldList' => '
hidden,
tt_content,
header
',
],
'types' => [
'1' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:card_group_item.header;header,
image,
bodytext,
--palette--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:card_group_item.link;link,
icon_file,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
],
'palettes' => [
'1' => [
'showitem' => ''
],
'access' => [
'showitem' => '
starttime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:starttime_formlabel,
endtime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:endtime_formlabel
'
],
'header' => [
'showitem' => '
header,
--linebreak--,
subheader,
'
],
'link' => [
'showitem' => '
link,
link_title,
--linebreak--,
link_class,
--linebreak--,
link_icon_set,
--linebreak--,
link_icon_identifier,
link_icon,
'
],
'general' => [
'showitem' => '
tt_content
'
],
'visibility' => [
'showitem' => '
hidden;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:card_group_item
'
],
// hidden but needs to be included all the time, so sys_language_uid is set correctly
'hiddenLanguagePalette' => [
'showitem' => 'sys_language_uid, l10n_parent',
'isHiddenPalette' => true,
],
],
'columns' => [
'tt_content' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:card_group_item.tt_content',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'tt_content',
'foreign_table_where' => 'AND tt_content.pid=###CURRENT_PID### AND tt_content.{#CType}=\'card_group\'',
'maxitems' => 1,
'default' => 0,
],
],
'hidden' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.hidden',
'config' => [
'type' => 'check',
'items' => [
'1' => [
'0' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:hidden.I.0'
]
]
]
],
'starttime' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.starttime',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime',
'default' => 0
],
'l10n_mode' => 'exclude',
'l10n_display' => 'defaultAsReadonly'
],
'endtime' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.endtime',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime',
'default' => 0,
'range' => [
'upper' => mktime(0, 0, 0, 1, 1, 2038)
]
],
'l10n_mode' => 'exclude',
'l10n_display' => 'defaultAsReadonly'
],
'sys_language_uid' => [
'exclude' => 1,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.language',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'sys_language',
'foreign_table_where' => 'ORDER BY sys_language.title',
'items' => [
[
'LLL:' . $generalLanguageFile . ':LGL.allLanguages',
-1
],
[
'LLL:' . $generalLanguageFile . ':LGL.default_value',
0
]
],
'allowNonIdValues' => true,
]
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 1,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.l18n_parent',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'',
0
]
],
'foreign_table' => 'tx_bootstrappackage_card_group_item',
'foreign_table_where' => 'AND tx_bootstrappackage_card_group_item.pid=###CURRENT_PID### AND tx_bootstrappackage_card_group_item.sys_language_uid IN (-1,0)',
'default' => 0
]
],
'l10n_diffsource' => [
'config' => [
'type' => 'passthrough'
]
],
'header' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:card_group_item.header',
'config' => [
'type' => 'input',
'size' => 50,
'eval' => 'trim,required'
],
],
'subheader' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:card_group_item.subheader',
'config' => [
'type' => 'input',
'size' => 50,
'eval' => 'trim'
],
],
'image' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:card_group_item.image',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'image',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
title,
alternative,
crop,
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;;filePalette
'
],
],
],
'minitems' => 0,
'maxitems' => 1,
],
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
],
'bodytext' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:card_group_item.bodytext',
'exclude' => true,
'config' => [
'type' => 'text',
'cols' => '80',
'rows' => '15',
'softref' => 'typolink_tag,email[subst],url',
'enableRichtext' => true
],
],
'link' => [
'exclude' => 1,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:card_group_item.link',
'config' => [
'type' => 'input',
'renderType' => 'inputLink',
'size' => 50,
'max' => 1024,
'eval' => 'trim',
'fieldControl' => [
'linkPopup' => [
'options' => [
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:card_group_item.link',
],
],
],
'softref' => 'typolink'
],
],
'link_title' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:card_group_item.link_title',
'config' => [
'type' => 'input',
'size' => 50,
'eval' => 'trim'
],
],
'link_icon_set' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:card_group_item.link_icon_set',
'onChange' => 'reload',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'itemsProcFunc' => 'BK2K\BootstrapPackage\Service\IconService->getIconSetItems',
],
],
'link_icon_identifier' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:card_group_item.link_icon_identifier',
'displayCond' => 'FIELD:link_icon_set:REQ:true',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'itemsProcFunc' => 'BK2K\BootstrapPackage\Service\IconService->getIconItems',
'itemsProcConfig' => [
'iconSetField' => 'link_icon_set'
],
'fieldWizard' => [
'selectIcons' => [
'renderType' => 'iconWizard',
'disabled' => false,
],
],
],
],
'link_icon' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:card_group_item.link_icon',
'displayCond' => 'FIELD:link_icon_set:REQ:false',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'link_icon',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;;filePalette
'
],
],
],
'maxitems' => 1,
],
'gif,png,svg'
),
],
'link_class' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:card_group_item.link_class',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['default', 'default'],
['primary', 'primary'],
['secondary', 'secondary'],
['tertiary', 'tertiary'],
['quaternary', 'quaternary'],
['success', 'success'],
['info', 'info'],
['warning', 'warning'],
['danger', 'danger'],
['outline-default', 'outline-default'],
['outline-primary', 'outline-primary'],
['outline-secondary', 'outline-secondary'],
['outline-tertiary', 'outline-tertiary'],
['outline-quaternary', 'outline-quaternary'],
['outline-success', 'outline-success'],
['outline-info', 'outline-info'],
['outline-warning', 'outline-warning'],
['outline-danger', 'outline-danger'],
]
]
],
],
];
@@ -0,0 +1,728 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('lang')) {
$generalLanguageFile = 'EXT:lang/Resources/Private/Language/locallang_general.xlf';
} else {
$generalLanguageFile = 'EXT:core/Resources/Private/Language/locallang_general.xlf';
}
return [
'ctrl' => [
'label' => 'header',
'sortby' => 'sorting',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'cruser_id' => 'cruser_id',
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item',
'type' => 'item_type',
'delete' => 'deleted',
'versioningWS' => true,
'origUid' => 't3_origuid',
'hideTable' => true,
'hideAtCopy' => true,
'prependAtCopy' => 'LLL:' . $generalLanguageFile . ':LGL.prependAtCopy',
'transOrigPointerField' => 'l10n_parent',
'transOrigDiffSourceField' => 'l10n_diffsource',
'languageField' => 'sys_language_uid',
'enablecolumns' => [
'disabled' => 'hidden',
'starttime' => 'starttime',
'endtime' => 'endtime',
],
'typeicon_column' => 'item_type',
'typeicon_classes' => [
'default' => 'content-bootstrappackage-carousel-item',
'header' => 'content-bootstrappackage-carousel-item-header',
'call_to_action' => 'content-bootstrappackage-carousel-item-calltoaction',
'image' => 'content-bootstrappackage-carousel-item-image',
'text' => 'content-bootstrappackage-carousel-item-text',
'text_and_image' => 'content-bootstrappackage-carousel-item-textandimage',
'background_image' => 'content-bootstrappackage-carousel-item-backgroundimage',
'html' => 'content-bootstrappackage-carousel-item-html'
]
],
'interface' => [
'showRecordFieldList' => '
hidden,
tt_content,
header,
header_layout,
header_class,
subheader,
subheader_layout,
subheader_class
bodytext,
image,
text_color,
background_color,
background_image
',
],
'types' => [
'1' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.ALT.html_formlabel,
nav_title,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
'header' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.header;header,
nav_title,
text_color,
link,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tabs.background,
background_color,
background_image,
background_image_options,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
'text' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.header;header,
nav_title,
bodytext,
text_color,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tabs.background,
background_color,
background_image,
background_image_options,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
'call_to_action' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.header;header,
nav_title,
bodytext,
button_text,
link,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tabs.background,
background_color,
background_image,
background_image_options,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
'image' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.ALT.html_formlabel,
nav_title,
image,
link,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tabs.background,
background_color,
background_image,
background_image_options,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
'text_and_image' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.header;header,
nav_title,
bodytext,
text_color,
image,
link,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tabs.background,
background_color,
background_image,
background_image_options,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
'background_image' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.ALT.html_formlabel,
nav_title,
background_color,
background_image,
background_image_options,
link,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
'html' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.ALT.html_formlabel,
nav_title,
bodytext;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext.ALT.html_formlabel,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tabs.background,
background_color,
background_image,
background_image_options,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
',
'columnsOverrides' => [
'bodytext' => [
'config' => [
'enableRichtext' => false
]
]
]
],
],
'palettes' => [
'1' => [
'showitem' => ''
],
'access' => [
'showitem' => '
starttime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:starttime_formlabel,
endtime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:endtime_formlabel
'
],
'header' => [
'showitem' => '
header,
header_layout,
header_class,
--linebreak--,
subheader,
subheader_layout,
subheader_class,
--linebreak--,
header_position,
'
],
'general' => [
'showitem' => '
tt_content,
item_type;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType_formlabel,
--linebreak--,
layout,
'
],
'visibility' => [
'showitem' => '
hidden;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item
'
],
// hidden but needs to be included all the time, so sys_language_uid is set correctly
'hiddenLanguagePalette' => [
'showitem' => 'sys_language_uid, l10n_parent',
'isHiddenPalette' => true,
],
],
'columns' => [
'tt_content' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.tt_content',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'tt_content',
'foreign_table_where' => 'AND tt_content.pid=###CURRENT_PID### AND tt_content.{#CType} IN (\'carousel\',\'carousel_small\',\'carousel_fullscreen\')',
'maxitems' => 1,
'default' => 0,
],
],
'item_type' => [
'label' => 'LLL:' . $generalLanguageFile . ':LGL.type',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.item_type.header',
'header',
'content-bootstrappackage-carousel-item-header'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.item_type.text',
'text',
'content-bootstrappackage-carousel-item-text'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.item_type.calltoaction',
'call_to_action',
'content-bootstrappackage-carousel-item-calltoaction'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.item_type.image',
'image',
'content-bootstrappackage-carousel-item-image'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.item_type.textandimage',
'text_and_image',
'content-bootstrappackage-carousel-item-textandimage'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.item_type.backgroundimage',
'background_image',
'content-bootstrappackage-carousel-item-backgroundimage'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.item_type.html',
'html',
'content-bootstrappackage-carousel-item-html'
],
],
'default' => 'header',
'authMode' => $GLOBALS['TYPO3_CONF_VARS']['BE']['explicitADmode'],
'authMode_enforce' => 'strict'
],
'l10n_mode' => 'exclude',
],
'hidden' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.hidden',
'config' => [
'type' => 'check',
'items' => [
'1' => [
'0' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:hidden.I.0'
]
]
]
],
'starttime' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.starttime',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime',
'default' => 0
],
'l10n_mode' => 'exclude',
'l10n_display' => 'defaultAsReadonly'
],
'endtime' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.endtime',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime',
'default' => 0,
'range' => [
'upper' => mktime(0, 0, 0, 1, 1, 2038)
]
],
'l10n_mode' => 'exclude',
'l10n_display' => 'defaultAsReadonly'
],
'sys_language_uid' => [
'exclude' => 1,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.language',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'sys_language',
'foreign_table_where' => 'ORDER BY sys_language.title',
'items' => [
[
'LLL:' . $generalLanguageFile . ':LGL.allLanguages',
-1
],
[
'LLL:' . $generalLanguageFile . ':LGL.default_value',
0
]
],
'allowNonIdValues' => true,
]
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 1,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.l18n_parent',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'',
0
]
],
'foreign_table' => 'tx_bootstrappackage_carousel_item',
'foreign_table_where' => 'AND tx_bootstrappackage_carousel_item.pid=###CURRENT_PID### AND tx_bootstrappackage_carousel_item.sys_language_uid IN (-1,0)',
'default' => 0
]
],
'l10n_diffsource' => [
'config' => [
'type' => 'passthrough'
]
],
'layout' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.layout',
'onChange' => 'reload',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['custom', 'custom'],
['primary', 'primary'],
['secondary', 'secondary'],
['tertiary', 'tertiary'],
['quaternary', 'quaternary'],
['light', 'light'],
['dark', 'dark']
],
'default' => 'secondary'
],
'l10n_mode' => 'exclude',
],
'link' => [
'exclude' => 1,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.link',
'config' => [
'type' => 'input',
'renderType' => 'inputLink',
'size' => 50,
'max' => 1024,
'eval' => 'trim',
'fieldControl' => [
'linkPopup' => [
'options' => [
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.link',
],
],
],
'softref' => 'typolink'
],
],
'header' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.header',
'config' => [
'type' => 'input',
'size' => 50,
'eval' => 'trim,required'
],
],
'header_layout' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.header_layout',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'H1',
'1'
],
[
'H2',
'2'
],
[
'H3',
'3'
],
[
'H4',
'4'
],
],
'default' => '1'
],
'l10n_mode' => 'exclude',
],
'header_position' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.header_position',
'exclude' => true,
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.header_position.default',
''
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.header_position.center',
'center'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.header_position.right',
'right'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.header_position.left',
'left'
]
],
'default' => ''
]
],
'header_class' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.header_class',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['', 'none'],
['h1', 'h1'],
['h2', 'h2'],
['h3', 'h3'],
['h4', 'h4'],
['h5', 'h5']
]
],
'l10n_mode' => 'exclude',
],
'subheader' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.subheader',
'config' => [
'type' => 'input',
'size' => 50,
'eval' => 'trim'
],
],
'subheader_layout' => [
'exclude' => 1,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.subheader_layout',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'H2',
'2'
],
[
'H3',
'3'
],
[
'H4',
'4'
],
],
'default' => '2'
],
'l10n_mode' => 'exclude',
],
'subheader_class' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.subheader_class',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['', 'none'],
['h1', 'h1'],
['h2', 'h2'],
['h3', 'h3'],
['h4', 'h4'],
['h5', 'h5']
]
],
'l10n_mode' => 'exclude',
],
'nav_title' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.nav_title',
'config' => [
'type' => 'input',
'size' => 50,
'eval' => 'trim'
],
],
'bodytext' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.bodytext',
'l10n_mode' => 'prefixLangTitle',
'l10n_cat' => 'text',
'config' => [
'type' => 'text',
'cols' => '80',
'rows' => '5',
'softref' => 'typolink_tag,email[subst],url',
'enableRichtext' => true
],
],
'button_text' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.button_text',
'config' => [
'type' => 'input',
'size' => 20,
'max' => 255
]
],
'image' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.image',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'image',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
title,
alternative,
crop,
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;;filePalette
'
],
],
],
'minitems' => 0,
'maxitems' => 1,
],
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
],
'text_color' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.text_color',
'displayCond' => 'FIELD:layout:=:custom',
'config' => [
'type' => 'input',
'renderType' => 'colorpicker',
'default' => '#FFFFFF',
],
'l10n_mode' => 'exclude',
],
'background_color' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.background_color',
'displayCond' => 'FIELD:layout:=:custom',
'config' => [
'type' => 'input',
'renderType' => 'colorpicker',
'default' => '#333333',
],
'l10n_mode' => 'exclude',
],
'background_image' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.background_image',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'background_image',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
crop,
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;;filePalette
'
],
],
],
'minitems' => 0,
'maxitems' => 1
],
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
'l10n_mode' => 'exclude',
],
'background_image_options' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.background_image_options',
'config' => [
'type' => 'flex',
'ds' => [
'default' => 'FILE:EXT:bootstrap_package/Configuration/FlexForms/BackgroundImage.xml',
],
],
'l10n_mode' => 'exclude',
]
],
];
@@ -0,0 +1,315 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('lang')) {
$generalLanguageFile = 'EXT:lang/Resources/Private/Language/locallang_general.xlf';
} else {
$generalLanguageFile = 'EXT:core/Resources/Private/Language/locallang_general.xlf';
}
return [
'ctrl' => [
'label' => 'header',
'sortby' => 'sorting',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'cruser_id' => 'cruser_id',
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:icon_group_item',
'delete' => 'deleted',
'versioningWS' => true,
'origUid' => 't3_origuid',
'hideTable' => true,
'hideAtCopy' => true,
'prependAtCopy' => 'LLL:' . $generalLanguageFile . ':LGL.prependAtCopy',
'transOrigPointerField' => 'l10n_parent',
'transOrigDiffSourceField' => 'l10n_diffsource',
'languageField' => 'sys_language_uid',
'enablecolumns' => [
'disabled' => 'hidden',
'starttime' => 'starttime',
'endtime' => 'endtime',
],
'typeicon_classes' => [
'default' => 'content-bootstrappackage-icon-group-item'
],
],
'interface' => [
'showRecordFieldList' => '
hidden,
tt_content,
header,
subheader,
bodytext,
icon_file,
',
],
'types' => [
'1' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
header,
subheader,
bodytext,
link,
icon_set,
icon_identifier,
icon_file,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
],
'palettes' => [
'1' => [
'showitem' => ''
],
'access' => [
'showitem' => '
starttime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:starttime_formlabel,
endtime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:endtime_formlabel
'
],
'general' => [
'showitem' => '
tt_content
'
],
'visibility' => [
'showitem' => '
hidden;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:icon_group_item
'
],
// hidden but needs to be included all the time, so sys_language_uid is set correctly
'hiddenLanguagePalette' => [
'showitem' => 'sys_language_uid, l10n_parent',
'isHiddenPalette' => true,
],
],
'columns' => [
'tt_content' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:icon_group_item.tt_content',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'tt_content',
'foreign_table_where' => 'AND tt_content.pid=###CURRENT_PID### AND tt_content.{#CType}=\'icon_group\'',
'maxitems' => 1,
'default' => 0,
],
],
'hidden' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.hidden',
'config' => [
'type' => 'check',
'items' => [
'1' => [
'0' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:hidden.I.0'
]
]
]
],
'starttime' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.starttime',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime',
'default' => 0
],
'l10n_mode' => 'exclude',
'l10n_display' => 'defaultAsReadonly'
],
'endtime' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.endtime',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime',
'default' => 0,
'range' => [
'upper' => mktime(0, 0, 0, 1, 1, 2038)
]
],
'l10n_mode' => 'exclude',
'l10n_display' => 'defaultAsReadonly'
],
'sys_language_uid' => [
'exclude' => 1,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.language',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'sys_language',
'foreign_table_where' => 'ORDER BY sys_language.title',
'items' => [
[
'LLL:' . $generalLanguageFile . ':LGL.allLanguages',
-1
],
[
'LLL:' . $generalLanguageFile . ':LGL.default_value',
0
]
],
'allowNonIdValues' => true,
]
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 1,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.l18n_parent',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'',
0
]
],
'foreign_table' => 'tx_bootstrappackage_icon_group_item',
'foreign_table_where' => 'AND tx_bootstrappackage_icon_group_item.pid=###CURRENT_PID### AND tx_bootstrappackage_icon_group_item.sys_language_uid IN (-1,0)',
'default' => 0
]
],
'l10n_diffsource' => [
'config' => [
'type' => 'passthrough'
]
],
'header' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:icon_group_item.header',
'config' => [
'type' => 'input',
'size' => 50,
'eval' => 'trim,required'
],
],
'subheader' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:icon_group_item.subheader',
'config' => [
'type' => 'input',
'size' => 50,
'eval' => 'trim'
],
],
'bodytext' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:icon_group_item.bodytext',
'l10n_mode' => 'prefixLangTitle',
'l10n_cat' => 'text',
'config' => [
'type' => 'text',
'cols' => '80',
'rows' => '15',
'softref' => 'typolink_tag,email[subst],url',
'enableRichtext' => true
],
],
'link' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:icon_group_item.link',
'config' => [
'type' => 'input',
'renderType' => 'inputLink',
'size' => 50,
'max' => 1024,
'eval' => 'trim',
'fieldControl' => [
'linkPopup' => [
'options' => [
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:icon_group_item.link',
],
],
],
'softref' => 'typolink'
],
'l10n_mode' => 'exclude',
],
'icon_set' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:icon_group_item.icon_set',
'onChange' => 'reload',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'itemsProcFunc' => 'BK2K\BootstrapPackage\Service\IconService->getIconSetItems',
],
],
'icon_identifier' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:icon_group_item.icon_identifier',
'displayCond' => 'FIELD:icon_set:REQ:true',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'itemsProcFunc' => 'BK2K\BootstrapPackage\Service\IconService->getIconItems',
'itemsProcConfig' => [
'iconSetField' => 'icon_set'
],
'fieldWizard' => [
'selectIcons' => [
'renderType' => 'iconWizard',
'disabled' => false,
],
],
],
],
'icon_file' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:icon_group_item.icon_file',
'displayCond' => 'FIELD:icon_set:REQ:false',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'icon_file',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;;filePalette
'
],
],
],
'maxitems' => 1,
],
'gif,png,svg'
),
],
],
];
@@ -0,0 +1,341 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('lang')) {
$generalLanguageFile = 'EXT:lang/Resources/Private/Language/locallang_general.xlf';
} else {
$generalLanguageFile = 'EXT:core/Resources/Private/Language/locallang_general.xlf';
}
return [
'ctrl' => [
'label' => 'header',
'label_alt' => 'bodytext',
'sortby' => 'sorting',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'cruser_id' => 'cruser_id',
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item',
'delete' => 'deleted',
'versioningWS' => true,
'origUid' => 't3_origuid',
'hideTable' => true,
'hideAtCopy' => true,
'prependAtCopy' => 'LLL:' . $generalLanguageFile . ':LGL.prependAtCopy',
'transOrigPointerField' => 'l10n_parent',
'transOrigDiffSourceField' => 'l10n_diffsource',
'languageField' => 'sys_language_uid',
'enablecolumns' => [
'disabled' => 'hidden',
'starttime' => 'starttime',
'endtime' => 'endtime',
],
'typeicon_classes' => [
'default' => 'content-bootstrappackage-tab-item'
],
],
'interface' => [
'showRecordFieldList' => '
hidden,
tt_content,
header,
bodytext
',
],
'types' => [
'1' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
header,
bodytext,
media,
--palette--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.mediaposition;mediaposition,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
],
'palettes' => [
'1' => [
'showitem' => ''
],
'access' => [
'showitem' => '
starttime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:starttime_formlabel,
endtime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:endtime_formlabel
'
],
'general' => [
'showitem' => '
tt_content
'
],
'mediaposition' => [
'showitem' => '
mediaorient,
imagecols,
image_zoom,
'
],
'visibility' => [
'showitem' => '
hidden;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item
'
],
// hidden but needs to be included all the time, so sys_language_uid is set correctly
'hiddenLanguagePalette' => [
'showitem' => 'sys_language_uid, l10n_parent',
'isHiddenPalette' => true,
],
],
'columns' => [
'tt_content' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.tt_content',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'tt_content',
'foreign_table_where' => 'AND tt_content.pid=###CURRENT_PID### AND tt_content.{#CType}=\'tab\'',
'maxitems' => 1,
'default' => 0,
],
],
'hidden' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.hidden',
'config' => [
'type' => 'check',
'items' => [
'1' => [
'0' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:hidden.I.0'
]
]
]
],
'starttime' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.starttime',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime',
'default' => 0
],
'l10n_mode' => 'exclude',
'l10n_display' => 'defaultAsReadonly'
],
'endtime' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.endtime',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime',
'default' => 0,
'range' => [
'upper' => mktime(0, 0, 0, 1, 1, 2038)
]
],
'l10n_mode' => 'exclude',
'l10n_display' => 'defaultAsReadonly'
],
'sys_language_uid' => [
'exclude' => 1,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.language',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'sys_language',
'foreign_table_where' => 'ORDER BY sys_language.title',
'items' => [
[
'LLL:' . $generalLanguageFile . ':LGL.allLanguages',
-1
],
[
'LLL:' . $generalLanguageFile . ':LGL.default_value',
0
]
],
'allowNonIdValues' => true,
]
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 1,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.l18n_parent',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'',
0
]
],
'foreign_table' => 'tx_bootstrappackage_tab_item',
'foreign_table_where' => 'AND tx_bootstrappackage_tab_item.pid=###CURRENT_PID### AND tx_bootstrappackage_tab_item.sys_language_uid IN (-1,0)',
'default' => 0
]
],
'l10n_diffsource' => [
'config' => [
'type' => 'passthrough'
]
],
'header' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.header',
'config' => [
'type' => 'input',
'size' => 50,
'eval' => 'trim,required'
],
],
'bodytext' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.bodytext',
'l10n_mode' => 'prefixLangTitle',
'l10n_cat' => 'text',
'config' => [
'type' => 'text',
'cols' => '80',
'rows' => '15',
'softref' => 'typolink_tag,email[subst],url',
'enableRichtext' => true
],
],
'media' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.media',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'media',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.audioOverlayPalette;audioOverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.videoOverlayPalette;videoOverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
]
],
],
],
$GLOBALS['TYPO3_CONF_VARS']['SYS']['mediafile_ext']
),
],
'mediaorient' => [
'exclude' => 1,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.mediaorient',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.mediaorient.left',
'left'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.mediaorient.top',
'top'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.mediaorient.right',
'right'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.mediaorient.bottom',
'bottom'
],
],
'default' => 'left',
],
'l10n_mode' => 'exclude'
],
'imagecols' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.imagecols',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'1',
1
],
[
'2',
2
],
[
'3',
3
],
[
'4',
4
],
[
'5',
5
],
[
'6',
6
]
],
'default' => 2
],
'l10n_mode' => 'exclude'
],
'image_zoom' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.image_zoom',
'config' => [
'type' => 'check',
'items' => [
[
0 => '',
1 => '',
]
],
]
]
],
];
@@ -0,0 +1,351 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('lang')) {
$generalLanguageFile = 'EXT:lang/Resources/Private/Language/locallang_general.xlf';
} else {
$generalLanguageFile = 'EXT:core/Resources/Private/Language/locallang_general.xlf';
}
return [
'ctrl' => [
'label' => 'header',
'label_userFunc' => BK2K\BootstrapPackage\Userfuncs\Tca::class . '->timelineItemLabel',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'cruser_id' => 'cruser_id',
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:timeline_item',
'delete' => 'deleted',
'versioningWS' => true,
'origUid' => 't3_origuid',
'hideTable' => true,
'hideAtCopy' => true,
'prependAtCopy' => 'LLL:' . $generalLanguageFile . ':LGL.prependAtCopy',
'transOrigPointerField' => 'l10n_parent',
'transOrigDiffSourceField' => 'l10n_diffsource',
'languageField' => 'sys_language_uid',
'default_sortby' => 'date',
'enablecolumns' => [
'disabled' => 'hidden',
'starttime' => 'starttime',
'endtime' => 'endtime',
],
'typeicon_classes' => [
'default' => 'content-bootstrappackage-timeline-item'
],
],
'interface' => [
'showRecordFieldList' => '
hidden,
tt_content,
header
',
],
'types' => [
'1' => [
'showitem' => '
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
date,
header,
bodytext,
icon_set,
icon_identifier,
icon_file,
image,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--palette--;;hiddenLanguagePalette,
'
],
],
'palettes' => [
'1' => [
'showitem' => ''
],
'access' => [
'showitem' => '
starttime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:starttime_formlabel,
endtime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:endtime_formlabel
'
],
'general' => [
'showitem' => '
tt_content
'
],
'visibility' => [
'showitem' => '
hidden;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:timeline_item
'
],
// hidden but needs to be included all the time, so sys_language_uid is set correctly
'hiddenLanguagePalette' => [
'showitem' => 'sys_language_uid, l10n_parent',
'isHiddenPalette' => true,
],
],
'columns' => [
'tt_content' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:timeline_item.tt_content',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'tt_content',
'foreign_table_where' => 'AND tt_content.pid=###CURRENT_PID### AND tt_content.{#CType}=\'timeline\'',
'maxitems' => 1,
'default' => 0,
],
],
'hidden' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.hidden',
'config' => [
'type' => 'check',
'items' => [
'1' => [
'0' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:hidden.I.0'
]
]
]
],
'starttime' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.starttime',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime',
'default' => 0
],
'l10n_mode' => 'exclude',
'l10n_display' => 'defaultAsReadonly'
],
'endtime' => [
'exclude' => true,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.endtime',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime',
'default' => 0,
'range' => [
'upper' => mktime(0, 0, 0, 1, 1, 2038)
]
],
'l10n_mode' => 'exclude',
'l10n_display' => 'defaultAsReadonly'
],
'sys_language_uid' => [
'exclude' => 1,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.language',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'sys_language',
'foreign_table_where' => 'ORDER BY sys_language.title',
'items' => [
[
'LLL:' . $generalLanguageFile . ':LGL.allLanguages',
-1
],
[
'LLL:' . $generalLanguageFile . ':LGL.default_value',
0
]
],
'allowNonIdValues' => true,
]
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 1,
'label' => 'LLL:' . $generalLanguageFile . ':LGL.l18n_parent',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'',
0
]
],
'foreign_table' => 'tx_bootstrappackage_timeline_item',
'foreign_table_where' => 'AND tx_bootstrappackage_timeline_item.pid=###CURRENT_PID### AND tx_bootstrappackage_timeline_item.sys_language_uid IN (-1,0)',
'default' => 0
]
],
'l10n_diffsource' => [
'config' => [
'type' => 'passthrough'
]
],
'date' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:timeline_item.date',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'dbType' => 'datetime',
'eval' => 'datetime,required'
],
'l10n_mode' => 'exclude',
],
'header' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:timeline_item.header',
'config' => [
'type' => 'input',
'size' => 50,
'eval' => 'trim,required'
],
],
'bodytext' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:timeline_item.bodytext',
'l10n_mode' => 'prefixLangTitle',
'l10n_cat' => 'text',
'config' => [
'type' => 'text',
'cols' => '80',
'rows' => '15',
'softref' => 'typolink_tag,email[subst],url',
'enableRichtext' => true
],
],
'icon_set' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:timeline_item.icon_set',
'onChange' => 'reload',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'itemsProcFunc' => 'BK2K\BootstrapPackage\Service\IconService->getIconSetItems',
],
],
'icon_identifier' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:timeline_item.icon_identifier',
'displayCond' => 'FIELD:icon_set:REQ:true',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'itemsProcFunc' => 'BK2K\BootstrapPackage\Service\IconService->getIconItems',
'itemsProcConfig' => [
'iconSetField' => 'icon_set'
],
'fieldWizard' => [
'selectIcons' => [
'renderType' => 'iconWizard',
'disabled' => false,
],
],
],
],
'icon_file' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:timeline_item.icon_file',
'displayCond' => 'FIELD:icon_set:REQ:false',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'icon_file',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;;filePalette
'
],
],
],
'maxitems' => 1,
],
'gif,png,svg'
),
],
'image' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:timeline_item.image',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'image',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
title,
alternative,
description,
crop,
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;;filePalette
'
],
],
],
'minitems' => 0,
'maxitems' => 1,
],
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
],
],
];