first commit
This commit is contained in:
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');
|
||||
+50
@@ -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'
|
||||
);
|
||||
+100
@@ -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'
|
||||
);
|
||||
+90
@@ -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'
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
);
|
||||
+17
@@ -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'
|
||||
);
|
||||
+102
@@ -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'
|
||||
);
|
||||
+74
@@ -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'
|
||||
);
|
||||
+74
@@ -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'
|
||||
);
|
||||
+74
@@ -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'
|
||||
);
|
||||
+93
@@ -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'
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
);
|
||||
+100
@@ -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
|
||||
'
|
||||
];
|
||||
+17
@@ -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'
|
||||
);
|
||||
+102
@@ -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'
|
||||
);
|
||||
+25
@@ -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'
|
||||
);
|
||||
+73
@@ -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',
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
);
|
||||
+95
@@ -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'
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
);
|
||||
+77
@@ -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'
|
||||
);
|
||||
+77
@@ -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'
|
||||
);
|
||||
+76
@@ -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'
|
||||
);
|
||||
+76
@@ -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'
|
||||
);
|
||||
+103
@@ -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'],
|
||||
],
|
||||
],
|
||||
],
|
||||
]
|
||||
);
|
||||
+101
@@ -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'
|
||||
]
|
||||
],
|
||||
]
|
||||
);
|
||||
+72
@@ -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
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
);
|
||||
+102
@@ -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'
|
||||
);
|
||||
+17
@@ -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'
|
||||
);
|
||||
+17
@@ -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'
|
||||
);
|
||||
+73
@@ -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
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
);
|
||||
+222
@@ -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',
|
||||
],
|
||||
],
|
||||
]
|
||||
);
|
||||
+17
@@ -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'
|
||||
);
|
||||
+25
@@ -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'
|
||||
);
|
||||
+74
@@ -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
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
);
|
||||
+102
@@ -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'
|
||||
);
|
||||
+17
@@ -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'
|
||||
);
|
||||
+79
@@ -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'
|
||||
);
|
||||
+221
@@ -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,
|
||||
';
|
||||
+19
@@ -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,
|
||||
'
|
||||
];
|
||||
+23
@@ -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;
|
||||
}
|
||||
+152
@@ -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')
|
||||
);
|
||||
}
|
||||
+341
@@ -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 => '',
|
||||
]
|
||||
],
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
+420
@@ -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'],
|
||||
]
|
||||
]
|
||||
],
|
||||
],
|
||||
];
|
||||
+728
@@ -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',
|
||||
]
|
||||
],
|
||||
];
|
||||
+315
@@ -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'
|
||||
),
|
||||
],
|
||||
],
|
||||
];
|
||||
+341
@@ -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 => '',
|
||||
]
|
||||
],
|
||||
]
|
||||
]
|
||||
],
|
||||
];
|
||||
+351
@@ -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']
|
||||
),
|
||||
],
|
||||
],
|
||||
];
|
||||
Reference in new issue
Block a user