first commit

This commit is contained in:
salam committed 2026-10-19 08:18:39 +02:00
commit 1218dd1517
12716 files changed
+989233

No files matched your search

@@ -0,0 +1,2 @@
Order deny,allow
Deny from all
@@ -0,0 +1,14 @@
<?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.
*/
return [
'typoscript' => [
\BK2K\BootstrapPackage\ExpressionLanguage\ConditionProvider::class,
]
];
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
<meta>
<langDisable>1</langDisable>
</meta>
<sheets>
<sDEF>
<ROOT>
<TCEforms>
<sheetTitle>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:settings</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<default_element>
<TCEforms>
<label>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion.default_element
</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<foreign_table>tx_bootstrappackage_accordion_item</foreign_table>
<foreign_table_where>AND tx_bootstrappackage_accordion_item.tt_content = ###THIS_UID###</foreign_table_where>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">None</numIndex>
<numIndex index="1">0</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</default_element>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
<meta>
<langDisable>1</langDisable>
</meta>
<sheets>
<sDEF>
<ROOT>
<TCEforms>
<sheetTitle>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:settings</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<parallax>
<TCEforms>
<label>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.background_image.parallax</label>
<config>
<type>check</type>
<default>0</default>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.background_image.parallax.description</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</parallax>
<fade>
<TCEforms>
<label>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.background_image.fade</label>
<config>
<type>check</type>
<default>0</default>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.background_image.fade.description</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</fade>
<filter>
<TCEforms>
<label>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.background_image.filter</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<default></default>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.background_image.filter.none</numIndex>
<numIndex index="1"></numIndex>
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.background_image.filter.blur</numIndex>
<numIndex index="1">blur</numIndex>
</numIndex>
<numIndex index="2" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.background_image.filter.grayscale</numIndex>
<numIndex index="1">grayscale</numIndex>
</numIndex>
<numIndex index="3" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.background_image.filter.sepia</numIndex>
<numIndex index="1">sepia</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</filter>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
<meta>
<langDisable>1</langDisable>
</meta>
<sheets>
<sDEF>
<ROOT>
<TCEforms>
<sheetTitle>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:settings</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<align>
<TCEforms>
<label>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.card_group.align</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<default>left</default>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.card_group.align.left</numIndex>
<numIndex index="1">left</numIndex>
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.card_group.align.center</numIndex>
<numIndex index="1">center</numIndex>
</numIndex>
<numIndex index="2" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.card_group.align.right</numIndex>
<numIndex index="1">right</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</align>
<columns>
<TCEforms>
<label>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.card_group.columns</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<default>2</default>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">1</numIndex>
<numIndex index="1">1</numIndex>
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">2</numIndex>
<numIndex index="1">2</numIndex>
</numIndex>
<numIndex index="2" type="array">
<numIndex index="0">3</numIndex>
<numIndex index="1">3</numIndex>
</numIndex>
<numIndex index="3" type="array">
<numIndex index="0">4</numIndex>
<numIndex index="1">4</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</columns>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
<meta>
<langDisable>1</langDisable>
</meta>
<sheets>
<sDEF>
<ROOT>
<TCEforms>
<sheetTitle>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:settings</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<interval>
<TCEforms>
<label>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel.interval
</label>
<config>
<type>input</type>
<size>8</size>
<default>5000</default>
<eval>required,int</eval>
</config>
</TCEforms>
</interval>
<transition>
<TCEforms>
<label>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel.transition
</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<default>fade</default>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel.transition.fade</numIndex>
<numIndex index="1">fade</numIndex>
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel.transition.slide</numIndex>
<numIndex index="1">slide</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</transition>
<wrap>
<TCEforms>
<label>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel.wrap</label>
<config>
<type>check</type>
<default>1</default>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel.wrap.description</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</wrap>
<show_nav_title>
<TCEforms>
<label>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel.show_nav_title</label>
<config>
<type>check</type>
<default>0</default>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel.show_nav_title.description</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</show_nav_title>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
@@ -0,0 +1,110 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
<meta>
<langDisable>1</langDisable>
</meta>
<sheets>
<sDEF>
<ROOT>
<TCEforms>
<sheetTitle>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:settings</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<align>
<TCEforms>
<label>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.icon_group.align</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<default>center</default>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.icon_group.align.left</numIndex>
<numIndex index="1">left</numIndex>
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.icon_group.align.center</numIndex>
<numIndex index="1">center</numIndex>
</numIndex>
<numIndex index="2" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.icon_group.align.right</numIndex>
<numIndex index="1">right</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</align>
<columns>
<TCEforms>
<label>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.icon_group.columns</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<default>auto</default>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.icon_group.columns.auto</numIndex>
<numIndex index="1">auto</numIndex>
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">1</numIndex>
<numIndex index="1">1</numIndex>
</numIndex>
<numIndex index="2" type="array">
<numIndex index="0">2</numIndex>
<numIndex index="1">2</numIndex>
</numIndex>
<numIndex index="3" type="array">
<numIndex index="0">3</numIndex>
<numIndex index="1">3</numIndex>
</numIndex>
<numIndex index="4" type="array">
<numIndex index="0">4</numIndex>
<numIndex index="1">4</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</columns>
<icon_position>
<TCEforms>
<label>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.icon_group.icon_position</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<default>left-center</default>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.icon_group.icon_position.left-top</numIndex>
<numIndex index="1">left-top</numIndex>
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.icon_group.icon_position.left-center</numIndex>
<numIndex index="1">left-center</numIndex>
</numIndex>
<numIndex index="2" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.icon_group.icon_position.right-top</numIndex>
<numIndex index="1">right-top</numIndex>
</numIndex>
<numIndex index="3" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.icon_group.icon_position.right-center</numIndex>
<numIndex index="1">right-center</numIndex>
</numIndex>
<numIndex index="4" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.icon_group.icon_position.above</numIndex>
<numIndex index="1">above</numIndex>
</numIndex>
<numIndex index="5" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.icon_group.icon_position.below</numIndex>
<numIndex index="1">below</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</icon_position>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
<meta>
<langDisable>1</langDisable>
</meta>
<sheets>
<sDEF>
<ROOT>
<TCEforms>
<sheetTitle>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:settings</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<align>
<TCEforms>
<label>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.card.align</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<default>left</default>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.card.align.left</numIndex>
<numIndex index="1">left</numIndex>
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.card.align.center</numIndex>
<numIndex index="1">center</numIndex>
</numIndex>
<numIndex index="2" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.card.align.right</numIndex>
<numIndex index="1">right</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</align>
<columns>
<TCEforms>
<label>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.card.columns</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<default>2</default>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">1</numIndex>
<numIndex index="1">1</numIndex>
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">2</numIndex>
<numIndex index="1">2</numIndex>
</numIndex>
<numIndex index="2" type="array">
<numIndex index="0">3</numIndex>
<numIndex index="1">3</numIndex>
</numIndex>
<numIndex index="3" type="array">
<numIndex index="0">4</numIndex>
<numIndex index="1">4</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</columns>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
<meta>
<langDisable>1</langDisable>
</meta>
<sheets>
<sDEF>
<ROOT>
<TCEforms>
<sheetTitle>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:settings</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<align>
<TCEforms>
<label>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.thumbnail.align</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<default>left</default>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.thumbnail.align.left</numIndex>
<numIndex index="1">left</numIndex>
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.thumbnail.align.center</numIndex>
<numIndex index="1">center</numIndex>
</numIndex>
<numIndex index="2" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.thumbnail.align.right</numIndex>
<numIndex index="1">right</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</align>
<columns>
<TCEforms>
<label>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.thumbnail.columns</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<default>2</default>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">1</numIndex>
<numIndex index="1">1</numIndex>
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">2</numIndex>
<numIndex index="1">2</numIndex>
</numIndex>
<numIndex index="2" type="array">
<numIndex index="0">3</numIndex>
<numIndex index="1">3</numIndex>
</numIndex>
<numIndex index="3" type="array">
<numIndex index="0">4</numIndex>
<numIndex index="1">4</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</columns>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
<meta>
<langDisable>1</langDisable>
</meta>
<sheets>
<sDEF>
<ROOT>
<TCEforms>
<sheetTitle>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:settings</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<default_tab>
<TCEforms>
<label>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab.default_tab
</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<foreign_table>tx_bootstrappackage_tab_item</foreign_table>
<foreign_table_where>AND tx_bootstrappackage_tab_item.tt_content = ###THIS_UID###</foreign_table_where>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0"></numIndex>
<numIndex index="1">0</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</default_tab>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
<meta>
<langDisable>1</langDisable>
</meta>
<sheets>
<sDEF>
<ROOT>
<TCEforms>
<sheetTitle>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:settings</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<sorting>
<TCEforms>
<label>LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:timeline.sorting
</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:timeline.sorting.desc</numIndex>
<numIndex index="1">date desc</numIndex>
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:timeline.sorting.asc</numIndex>
<numIndex index="1">date asc</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</sorting>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
@@ -0,0 +1,60 @@
TYPO3:
CMS:
Form:
persistenceManager:
allowedExtensionPaths:
110: EXT:bootstrap_package/Resources/Private/Forms/
prototypes:
standard:
formElementsDefinition:
Form:
renderingOptions:
translation:
translationFile:
110: 'EXT:bootstrap_package/Resources/Private/Language/locallang.xlf'
layoutRootPaths:
20: 'EXT:bootstrap_package/Resources/Private/Layouts/Form/'
templateRootPaths:
20: 'EXT:bootstrap_package/Resources/Private/Templates/Form/'
partialRootPaths:
20: 'EXT:bootstrap_package/Resources/Private/Partials/Form/'
Checkbox:
properties:
containerClassAttribute: 'custom-control custom-checkbox'
elementClassAttribute: 'custom-control-input'
GridRow:
properties:
elementClassAttribute: 'form-row row'
MultiCheckbox:
properties:
containerClassAttribute: 'custom-checkbox-multiple'
elementClassAttribute: 'custom-control-input'
MultiSelect:
properties:
elementClassAttribute: 'custom-select form-control'
RadioButton:
properties:
containerClassAttribute: 'custom-radio-multiple'
elementClassAttribute: 'custom-control-input'
SingleSelect:
properties:
elementClassAttribute: 'custom-select'
FileUpload:
properties:
elementClassAttribute: 'custom-file-input'
ImageUpload:
properties:
elementClassAttribute: 'custom-file-input'
imageLinkMaxWidth: 1200
imageMaxWidth: 200
imageMaxHeight: 200
DatePicker:
properties:
elementClassAttribute: 'form-control'
timeSelectorClassAttribute: 'custom-select form-control'
mixins:
formElementMixins:
FormElementMixin:
properties:
elementErrorClassAttribute: 'is-invalid'
@@ -0,0 +1,128 @@
imports:
- { resource: "EXT:rte_ckeditor/Configuration/RTE/Processing.yaml" }
- { resource: "EXT:rte_ckeditor/Configuration/RTE/Editor/Base.yaml" }
- { resource: "EXT:rte_ckeditor/Configuration/RTE/Editor/Plugins.yaml" }
editor:
externalPlugins:
bootstrappackage_address:
resource: "EXT:bootstrap_package/Resources/Public/CKEditor/Plugins/Address/plugin.min.js"
bootstrappackage_box:
resource: "EXT:bootstrap_package/Resources/Public/CKEditor/Plugins/Box/plugin.min.js"
bootstrappackage_columns:
resource: "EXT:bootstrap_package/Resources/Public/CKEditor/Plugins/Columns/plugin.min.js"
bootstrappackage_indent:
resource: "EXT:bootstrap_package/Resources/Public/CKEditor/Plugins/Indent/plugin.min.js"
bootstrappackage_table:
resource: "EXT:bootstrap_package/Resources/Public/CKEditor/Plugins/Table/plugin.min.js"
config:
contentsCss: "EXT:bootstrap_package/Resources/Public/Css/bootstrap4-rte.min.css"
stylesSet:
- { name: "Lead", element: "p", attributes: { 'class': 'lead' } }
- { name: "Small", element: "small" }
- { name: "Table", element: "table", attributes: { 'class': 'table' } }
- { name: "Table Striped", element: "table", attributes: { 'class': 'table table-striped' } }
- { name: "Table Bordered", element: "table", attributes: { 'class': 'table table-bordered' } }
- { name: "Table Condensed", element: "table", attributes: { 'class': 'table table-condensed' } }
- { name: "Row Active", element: "tr", attributes: { 'class': 'table-active' } }
- { name: "Row Success", element: "tr", attributes: { 'class': 'table-success' } }
- { name: "Row Info", element: "tr", attributes: { 'class': 'table-info' } }
- { name: "Row Warning", element: "tr", attributes: { 'class': 'table-warning' } }
- { name: "Row Danger", element: "tr", attributes: { 'class': 'table-danger' } }
- { name: "Cell Active", element: "td", attributes: { 'class': 'table-active' } }
- { name: "Cell Success", element: "td", attributes: { 'class': 'table-success' } }
- { name: "Cell Info", element: "td", attributes: { 'class': 'table-info' } }
- { name: "Cell Warning", element: "td", attributes: { 'class': 'table-warning' } }
- { name: "Cell Danger", element: "td", attributes: { 'class': 'table-danger' } }
- { name: "Button Default", element: "a", attributes: { 'class': 'btn btn-default' } }
- { name: "Button Primary", element: "a", attributes: { 'class': 'btn btn-primary' } }
- { name: "Button Secondary", element: "a", attributes: { 'class': 'btn btn-secondary' } }
- { name: "Button Success", element: "a", attributes: { 'class': 'btn btn-success' } }
- { name: "Button Info", element: "a", attributes: { 'class': 'btn btn-info' } }
- { name: "Button Warning", element: "a", attributes: { 'class': 'btn btn-warning' } }
- { name: "Button Danger", element: "a", attributes: { 'class': 'btn btn-danger' } }
- { name: "Button Outline Default", element: "a", attributes: { 'class': 'btn btn-outline-default' } }
- { name: "Button Outline Primary", element: "a", attributes: { 'class': 'btn btn-outline-primary' } }
- { name: "Button Outline Secondary", element: "a", attributes: { 'class': 'btn btn-outline-secondary' } }
- { name: "Button Outline Success", element: "a", attributes: { 'class': 'btn btn-outline-success' } }
- { name: "Button Outline Info", element: "a", attributes: { 'class': 'btn btn-outline-info' } }
- { name: "Button Outline Warning", element: "a", attributes: { 'class': 'btn btn-outline-warning' } }
- { name: "Button Outline Danger", element: "a", attributes: { 'class': 'btn btn-outline-danger' } }
- { name: "List Unstyled", element: "ul", attributes: { 'class': 'list-unstyled' } }
- { name: "List Inline", element: "ul", attributes: { 'class': 'list-inline' } }
- { name: "Lowercased text", element: "span", attributes: { 'class': 'text-lowercase' } }
- { name: "Uppercased text", element: "span", attributes: { 'class': 'text-uppercase' } }
- { name: "Capitalized text", element: "span", attributes: { 'class': 'text-capitalize' } }
- { name: "Muted", element: "span", attributes: { 'class': 'text-muted' } }
- { name: "Primary", element: "span", attributes: { 'class': 'text-primary' } }
- { name: "Secondary", element: "span", attributes: { 'class': 'text-secondary' } }
- { name: "Success", element: "span", attributes: { 'class': 'text-success' } }
- { name: "Info", element: "span", attributes: { 'class': 'text-info' } }
- { name: "Warning", element: "span", attributes: { 'class': 'text-warning' } }
- { name: "Danger", element: "span", attributes: { 'class': 'text-danger' } }
toolbarGroups:
- { name: styles, groups: [ format, styles ] }
- { name: basicstyles, groups: [ basicstyles ] }
- { name: paragraph, groups: [ list, indent, blocks, align ] }
- "/"
- { name: links, groups: [ links ] }
- { name: clipboard, groups: [ clipboard, cleanup, undo ] }
- { name: editing, groups: [ spellchecker ] }
- { name: insert, groups: [ insert ] }
- { name: tools, groups: [ table, specialchar ] }
- { name: document, groups: [ mode ] }
format_tags: "p;h1;h2;h3;h4;h5;pre"
justifyClasses:
- text-left
- text-center
- text-right
- text-justify
extraPlugins:
- justify
- autolink
- bootstrappackage_address
- bootstrappackage_box
- bootstrappackage_columns
- bootstrappackage_indent
- bootstrappackage_table
removePlugins:
- image
removeButtons:
- Anchor
- Underline
- Strike
classesAnchor:
page:
class: 'link-page'
type: 'page'
folder:
class: 'link-folder'
type: 'folder'
file:
class: 'link-file'
type: 'file'
external:
class: 'link-external'
type: 'url'
mail:
class: 'link-mail'
type: 'mail'
buttons:
link:
properties:
class:
allowedClasses: 'link-arrow, link-page, link-folder, link-file, link-external, link-mail'
@@ -0,0 +1,367 @@
#####
#
# Example .htaccess file for TYPO3 CMS - for use with Apache Webserver
#
# This file includes settings for the following configuration options:
#
# - Compression
# - Caching
# - MIME types
# - Cross Origin requests
# - Rewriting and Access
# - Miscellaneous
# - PHP optimisation
#
# If you want to use it, you have to copy it to the root folder of your TYPO3 installation (if its
# not there already) and rename it to '.htaccess'. To make .htaccess files work, you might need to
# adjust the 'AllowOverride' directive in your Apache configuration file.
#
# IMPORTANT: You may need to change this file depending on your TYPO3 installation!
# Consider adding this file's content to your webserver's configuration directly for speed improvement
#
# Lots of the options are taken from https://github.com/h5bp/html5-boilerplate/blob/master/dist/.htaccess
#
####
### Begin: Compression ###
# Compressing resource files will save bandwidth and so improve loading speed especially for users
# with slower internet connections. TYPO3 can compress the .js and .css files for you.
# *) Uncomment the following lines and
# *) Set $GLOBALS['TYPO3_CONF_VARS']['BE']['compressionLevel'] = 9 for the Backend
# *) Set $GLOBALS['TYPO3_CONF_VARS']['FE']['compressionLevel'] = 9 together with the TypoScript properties
# config.compressJs and config.compressCss for GZIP compression of Frontend JS and CSS files.
#<FilesMatch "\.js\.gzip$">
# AddType "text/javascript" .gzip
#</FilesMatch>
#<FilesMatch "\.css\.gzip$">
# AddType "text/css" .gzip
#</FilesMatch>
#AddEncoding gzip .gzip
<IfModule mod_deflate.c>
# Force compression for mangled `Accept-Encoding` request headers
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
</IfModule>
</IfModule>
# Compress all output labeled with one of the following media types.
#
# (!) For Apache versions below version 2.3.7 you don't need to
# enable `mod_filter` and can remove the `<IfModule mod_filter.c>`
# and `</IfModule>` lines as `AddOutputFilterByType` is still in
# the core directives.
#
# https://httpd.apache.org/docs/current/mod/mod_filter.html#addoutputfilterbytype
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE application/atom+xml \
application/javascript \
application/json \
application/ld+json \
application/manifest+json \
application/rdf+xml \
application/rss+xml \
application/schema+json \
application/vnd.geo+json \
application/vnd.ms-fontobject \
application/x-font-ttf \
application/x-javascript \
application/x-web-app-manifest+json \
application/xhtml+xml \
application/xml \
font/eot \
font/opentype \
image/bmp \
image/svg+xml \
image/vnd.microsoft.icon \
image/x-icon \
text/cache-manifest \
text/css \
text/html \
text/javascript \
text/plain \
text/vcard \
text/vnd.rim.location.xloc \
text/vtt \
text/x-component \
text/x-cross-domain-policy \
text/xml
</IfModule>
<IfModule mod_mime.c>
AddEncoding gzip svgz
</IfModule>
</IfModule>
### End: Compression ###
### Begin: Browser caching of resource files ###
# This affects Frontend and Backend and increases performance.
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 1 month"
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/ld+json "access plus 0 seconds"
ExpiresByType application/schema+json "access plus 0 seconds"
ExpiresByType application/vnd.geo+json "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType image/vnd.microsoft.icon "access plus 1 week"
ExpiresByType image/x-icon "access plus 1 week"
ExpiresByType text/x-component "access plus 1 month"
ExpiresByType text/html "access plus 0 seconds"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType application/x-javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType application/manifest+json "access plus 1 week"
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
ExpiresByType text/cache-manifest "access plus 0 seconds"
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType image/bmp "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType image/webp "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
ExpiresByType application/atom+xml "access plus 1 hour"
ExpiresByType application/rdf+xml "access plus 1 hour"
ExpiresByType application/rss+xml "access plus 1 hour"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
ExpiresByType font/eot "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-ttf "access plus 1 month"
ExpiresByType application/font-woff "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType font/woff "access plus 1 month"
ExpiresByType application/font-woff2 "access plus 1 month"
ExpiresByType text/x-cross-domain-policy "access plus 1 week"
</IfModule>
### End: Browser caching of resource files ###
### Begin: MIME types ###
# Proper MIME types for all files
<IfModule mod_mime.c>
# Data interchange
AddType application/atom+xml atom
AddType application/json json map topojson
AddType application/ld+json jsonld
AddType application/rss+xml rss
AddType application/vnd.geo+json geojson
AddType application/xml rdf xml
# JavaScript
AddType application/javascript js
# Manifest files
AddType application/manifest+json webmanifest
AddType application/x-web-app-manifest+json webapp
AddType text/cache-manifest appcache
# Media files
AddType audio/mp4 f4a f4b m4a
AddType audio/ogg oga ogg opus
AddType image/bmp bmp
AddType image/svg+xml svg svgz
AddType image/webp webp
AddType video/mp4 f4v f4p m4v mp4
AddType video/ogg ogv
AddType video/webm webm
AddType video/x-flv flv
AddType image/x-icon cur ico
# Web fonts
AddType application/font-woff woff
AddType application/font-woff2 woff2
AddType application/vnd.ms-fontobject eot
AddType application/x-font-ttf ttc ttf
AddType font/opentype otf
# Other
AddType application/octet-stream safariextz
AddType application/x-bb-appworld bbaw
AddType application/x-chrome-extension crx
AddType application/x-opera-extension oex
AddType application/x-xpinstall xpi
AddType text/vcard vcard vcf
AddType text/vnd.rim.location.xloc xloc
AddType text/vtt vtt
AddType text/x-component htc
</IfModule>
# UTF-8 encoding
AddDefaultCharset utf-8
<IfModule mod_mime.c>
AddCharset utf-8 .atom .css .js .json .manifest .rdf .rss .vtt .webapp .webmanifest .xml
</IfModule>
### End: MIME types ###
### Begin: Cross Origin ###
# Send the CORS header for images when browsers request it.
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
<FilesMatch "\.(bmp|cur|gif|ico|jpe?g|png|svgz?|webp)$">
SetEnvIf Origin ":" IS_CORS
Header set Access-Control-Allow-Origin "*" env=IS_CORS
</FilesMatch>
</IfModule>
</IfModule>
# Allow cross-origin access to web fonts.
<IfModule mod_headers.c>
<FilesMatch "\.(eot|otf|tt[cf]|woff2?)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
### End: Cross Origin ###
### Begin: Rewriting and Access ###
# You need rewriting, if you use a URL-Rewriting extension (RealURL, CoolUri).
<IfModule mod_rewrite.c>
# Enable URL rewriting
RewriteEngine On
# Store the current location in an environment variable CWD to use
# mod_rewrite in .htaccess files without knowing the RewriteBase
RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$
RewriteRule ^.*$ - [E=CWD:%2]
# Rules to set ApplicationContext based on hostname
#RewriteCond %{HTTP_HOST} ^dev\.example\.com$
#RewriteRule .? - [E=TYPO3_CONTEXT:Development]
#RewriteCond %{HTTP_HOST} ^staging\.example\.com$
#RewriteRule .? - [E=TYPO3_CONTEXT:Production/Staging]
#RewriteCond %{HTTP_HOST} ^www\.example\.com$
#RewriteRule .? - [E=TYPO3_CONTEXT:Production]
# Rule for versioned static files, configured through:
# - $GLOBALS['TYPO3_CONF_VARS']['BE']['versionNumberInFilename']
# - $GLOBALS['TYPO3_CONF_VARS']['FE']['versionNumberInFilename']
# IMPORTANT: This rule has to be the very first RewriteCond in order to work!
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ %{ENV:CWD}$1.$3 [L]
# Access block for folders
RewriteRule _(?:recycler|temp)_/ - [F]
RewriteRule fileadmin/templates/.*\.(?:txt|ts)$ - [F]
RewriteRule ^(?:vendor|typo3_src|typo3temp/var) - [F]
RewriteRule (?:typo3conf/ext|typo3/sysext|typo3/ext)/[^/]+/(?:Configuration|Resources/Private|Tests?|Documentation|docs?)/ - [F]
# Block access to all hidden files and directories with the exception of
# the visible content from within the `/.well-known/` hidden directory (RFC 5785).
RewriteCond %{REQUEST_URI} "!(^|/)\.well-known/([^./]+./?)+$" [NC]
RewriteCond %{SCRIPT_FILENAME} -d [OR]
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule (?:^|/)\. - [F]
# Stop rewrite processing, if we are in the typo3/ directory or any other known directory
# NOTE: Add your additional local storages here
RewriteRule ^(?:typo3/|fileadmin/|typo3conf/|typo3temp/|uploads/|favicon\.ico) - [L]
# If the file/symlink/directory does not exist => Redirect to index.php.
# For httpd.conf, you need to prefix each '%{REQUEST_FILENAME}' with '%{DOCUMENT_ROOT}'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^.*$ %{ENV:CWD}index.php [QSA,L]
</IfModule>
# Access block for files
# Apache < 2.3
<IfModule !mod_authz_core.c>
<FilesMatch "(?i:^\.|^#.*#|^(?:ChangeLog|ToDo|Readme|License)(?:\.md|\.txt)?|^composer\.(?:json|lock)|^ext_conf_template\.txt|^ext_typoscript_constants\.txt|^ext_typoscript_setup\.txt|flexform[^.]*\.xml|locallang[^.]*\.(?:xml|xlf)|\.(?:bak|co?nf|cfg|ya?ml|ts|typoscript|tsconfig|dist|fla|in[ci]|log|sh|sql(?:\..*)?|sqlite(?:\..*)?|sw[op]|git.*|rc)|.*~)$">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>
</IfModule>
# Apache ≥ 2.3
<IfModule mod_authz_core.c>
<If "%{REQUEST_URI} =~ m#(?i:/\.|/\x23.*\x23|/(?:ChangeLog|ToDo|Readme|License)(?:\.md|\.txt)?|/composer\.(?:json|lock)|/ext_conf_template\.txt|/ext_typoscript_constants\.txt|/ext_typoscript_setup\.txt|flexform[^.]*\.xml|locallang[^.]*\.(?:xml|xlf)|\.(?:bak|co?nf|cfg|ya?ml|ts|typoscript|tsconfig|dist|fla|in[ci]|log|sh|sql(?:\..*)?|sqlite(?:\..*)?|sw[op]|git.*|rc)|.*~)$#">
Require all denied
</If>
</IfModule>
# Block access to vcs directories
<IfModule mod_alias.c>
RedirectMatch 404 /\.(?:git|svn|hg)/
</IfModule>
### End: Rewriting and Access ###
### Begin: Miscellaneous ###
# 404 error prevention for non-existing redirected folders
Options -MultiViews
# Make sure that directory listings are disabled.
<IfModule mod_autoindex.c>
Options -Indexes
</IfModule>
<IfModule mod_headers.c>
# Force IE to render pages in the highest available mode
Header set X-UA-Compatible "IE=edge"
<FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svgz?|ttf|vcf|webapp|webm|webp|woff2?|xml|xpi)$">
Header unset X-UA-Compatible
</FilesMatch>
# Reducing MIME type security risks
Header set X-Content-Type-Options "nosniff"
</IfModule>
# ETag removal
<IfModule mod_headers.c>
Header unset ETag
</IfModule>
FileETag None
### End: Miscellaneous ###
# Add your own rules here.
@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-UA-Compatible" value="IE=edge" />
<add name="Cache-Control" value="Public" />
</customHeaders>
</httpProtocol>
<rewrite>
<rules>
<clear />
<rule name="TYPO3 - Block access to composer files">
<match url="composer\.(?:json|lock)" ignoreCase="true" />
<action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
</rule>
<rule name="TYPO3 - Block access to flexform files">
<match url="flexform[^.]*\.xml" ignoreCase="true" />
<action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
</rule>
<rule name="TYPO3 - Block access to language files">
<match url="locallang[^.]*\.(?:xml|xlf)$" ignoreCase="true" />
<action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
</rule>
<rule name="TYPO3 - Block access to static typoscript files">
<match url="ext_conf_template\.txt|ext_typoscript_constants\.txt|ext_typoscript_setup\.txt" ignoreCase="true" />
<action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
</rule>
<rule name="TYPO3 - Block access to miscellaneous protected files">
<match url="/.*\.(?:bak|co?nf|cfg|ya?ml|ts|typoscript|tsconfig|dist|fla|in[ci]|log|sh|sql)$" ignoreCase="true" />
<action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
</rule>
<rule name="TYPO3 - Block access to recycler and temporary directories">
<match url="_(?:recycler|temp)_/" ignoreCase="false" />
<action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
</rule>
<rule name="TYPO3 - Block access to configuration files stored in fileadmin">
<match url="fileadmin/(?:templates)/.*\.(?:txt|ts)$" ignoreCase="false" />
<action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
</rule>
<rule name="TYPO3 - Block access to libraries, source and temporary compiled data">
<match url="^(?:vendor|typo3_src|typo3temp/var)" ignoreCase="false" />
<action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
</rule>
<rule name="TYPO3 - Block access to protected extension directories">
<match url="(?:typo3conf/ext|typo3/sysext|typo3/ext)/[^/]+/(?:Configuration|Resources/Private|Tests?|Documentation|docs?)/" ignoreCase="false" />
<action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
</rule>
<rule name="TYPO3 - Static File Directories" stopProcessing="true">
<match url="^/(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php|favicon\.ico)$" />
<action type="None" />
</rule>
<rule name="TYPO3 - If the file/directory does not exist => Redirect to index.php." stopProcessing="true">
<match url="^.*$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" appendQueryString="true" />
</rule>
</rules>
</rewrite>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="8.00:00:00" />
</staticContent>
</system.webServer>
</configuration>
@@ -0,0 +1,169 @@
<?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_MODE') || die();
/***************
* Temporary variables
*/
$extensionKey = 'bootstrap_package';
/***************
* Register PageTS
*/
// BackendLayouts
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts.tsconfig',
'Bootstrap Package: Backend Layouts'
);
// TCEMAIN
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'Configuration/TsConfig/Page/TCEMAIN.tsconfig',
'Bootstrap Package: TCEMAIN'
);
// TCEFORM
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'Configuration/TsConfig/Page/TCEFORM.tsconfig',
'Bootstrap Package: TCEFORM'
);
// Content Elements
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'Configuration/TsConfig/Page/ContentElement/All.tsconfig',
'Bootstrap Package: All Content Elements'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:pages.nav_icon',
'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
'
],
],
],
'minitems' => 0,
'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', '1,3,4', 'after:nav_title');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('pages', 'thumbnail', '1,3,4', 'after:backend_layout_next_level');
@@ -0,0 +1,50 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3_MODE') || die();
/***************
* 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 3.x (LESS) Assets
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
'bootstrap_package',
'Configuration/TypoScript/Bootstrap3',
'Bootstrap Package: Bootstrap 3.x (LESS)'
);
/***************
* 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)'
);
@@ -0,0 +1,24 @@
<?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_MODE') || die();
/***************
* Add content element group to selector list
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:theme_name',
'--div--'
],
'--div--',
'before'
);
@@ -0,0 +1,116 @@
<?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_MODE') || die();
/***************
* Add Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['accordion'])) {
$GLOBALS['TCA']['tt_content']['types']['accordion'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'--div--',
'after'
);
/***************
* 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,
'showRemovedLocalizationRecords' => false,
'expandSingle' => true,
'enabledControls' => [
'localize' => true,
]
],
'behaviour' => [
'mode' => 'select',
]
]
]
]
);
/***************
* Add flexForms for content element configuration
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/Accordion.xml',
'accordion'
);
@@ -0,0 +1,99 @@
<?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_MODE') || die();
/***************
* Add Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['audio'])) {
$GLOBALS['TCA']['tt_content']['types']['audio'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'accordion',
'after'
);
/***************
* Assign Icon
*/
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['audio'] = 'content-audio';
/***************
* Configure element type
*/
$GLOBALS['TCA']['tt_content']['types']['audio'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['audio'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.media,
assets,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
',
'columnsOverrides' => [
'assets' => [
'config' => [
'filter' => [
0 => [
'parameters' => [
'allowedFileExtensions' => 'mp3'
]
]
],
'overrideChildTca' => [
'columns' => [
'uid_local' => [
'config' => [
'appearance' => [
'elementBrowserAllowed' => 'mp3'
]
]
]
]
]
]
]
]
]
);
@@ -0,0 +1,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_MODE') || die();
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'Configuration/TsConfig/Page/ContentElement/Element/Bullets.tsconfig',
'Bootstrap Package Content Element: Bullet List'
);
@@ -0,0 +1,116 @@
<?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_MODE') || die();
/***************
* Add Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['card_group'])) {
$GLOBALS['TCA']['tt_content']['types']['card_group'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'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,
'showRemovedLocalizationRecords' => false,
'expandSingle' => true,
'enabledControls' => [
'localize' => true,
]
],
'behaviour' => [
'mode' => 'select',
]
]
]
]
);
/***************
* Add flexForms for content element configuration
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/CardGroup.xml',
'card_group'
);
@@ -0,0 +1,85 @@
<?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_MODE') || die();
/***************
* Add Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['carousel'])) {
$GLOBALS['TCA']['tt_content']['types']['carousel'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'card_group',
'after'
);
/***************
* Assign Icon
*/
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['carousel'] = 'content-bootstrappackage-carousel';
/***************
* Configure element type
*/
$GLOBALS['TCA']['tt_content']['types']['carousel'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['carousel'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
tx_bootstrappackage_carousel_item,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
/***************
* Add flexForms for content element configuration
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/Carousel.xml',
'carousel'
);
@@ -0,0 +1,85 @@
<?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_MODE') || die();
/***************
* Add Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['carousel_small'])) {
$GLOBALS['TCA']['tt_content']['types']['carousel_small'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'carousel',
'after'
);
/***************
* Assign Icon
*/
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['carousel_small'] = 'content-bootstrappackage-carousel';
/***************
* Configure element type
*/
$GLOBALS['TCA']['tt_content']['types']['carousel_small'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['carousel_small'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
tx_bootstrappackage_carousel_item,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
/***************
* Add flexForms for content element configuration
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/Carousel.xml',
'carousel_small'
);
@@ -0,0 +1,85 @@
<?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_MODE') || die();
/***************
* Add Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['carousel_fullscreen'])) {
$GLOBALS['TCA']['tt_content']['types']['carousel_fullscreen'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'carousel_small',
'after'
);
/***************
* Assign Icon
*/
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['carousel_fullscreen'] = 'content-bootstrappackage-carousel';
/***************
* Configure element type
*/
$GLOBALS['TCA']['tt_content']['types']['carousel_fullscreen'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['carousel_fullscreen'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
tx_bootstrappackage_carousel_item,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
/***************
* Add flexForms for content element configuration
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/Carousel.xml',
'carousel_fullscreen'
);
@@ -0,0 +1,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_MODE') || die();
/***************
* Add Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['csv'])) {
$GLOBALS['TCA']['tt_content']['types']['csv'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'carousel_fullscreen',
'after'
);
/***************
* Assign Icon
*/
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['csv'] = 'content-bootstrappackage-csv';
/***************
* Configure element type
*/
$GLOBALS['TCA']['tt_content']['types']['csv'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['csv'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
media;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:media.ALT.uploads_formlabel,
--palette--;;tableconfiguration,
--palette--;;tablelayout,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
',
'columnsOverrides' => [
'media' => [
'config' => [
'filter' => [
0 => [
'parameters' => [
'allowedFileExtensions' => 'csv'
]
]
],
'minitems' => 0,
'maxitems' => 1,
'overrideChildTca' => [
'columns' => [
'uid_local' => [
'config' => [
'appearance' => [
'elementBrowserAllowed' => 'csv'
]
]
]
]
]
]
]
]
]
);
@@ -0,0 +1,113 @@
<?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_MODE') || die();
/***************
* Add Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['external_media'])) {
$GLOBALS['TCA']['tt_content']['types']['external_media'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'csv',
'after'
);
/***************
* Assign Icon
*/
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['external_media'] = 'content-bootstrappackage-externalmedia';
/***************
* Configure element type
*/
$GLOBALS['TCA']['tt_content']['types']['external_media'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['external_media'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
--palette--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.palette.external_media;external_media,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
/***************
* Register fields
*/
$GLOBALS['TCA']['tt_content']['columns'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['columns'],
[
'external_media_source' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.external_media_source',
'config' => [
'type' => 'input',
'size' => 50,
'eval' => 'trim',
'max' => 1024,
]
],
'external_media_ratio' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.external_media_ratio',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['16:9', '16by9'],
['4:3', '4by3'],
]
]
]
]
);
/***************
* Register palettes
*/
$GLOBALS['TCA']['tt_content']['palettes']['external_media'] = [
'showitem' => '
external_media_source, --linebreak--,
external_media_ratio
'
];
@@ -0,0 +1,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_MODE') || die();
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'Configuration/TsConfig/Page/ContentElement/Element/Header.tsconfig',
'Bootstrap Package Content Element: Header'
);
@@ -0,0 +1,116 @@
<?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_MODE') || die();
/***************
* Add Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['icon_group'])) {
$GLOBALS['TCA']['tt_content']['types']['icon_group'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'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,
'showRemovedLocalizationRecords' => false,
'expandSingle' => true,
'enabledControls' => [
'localize' => true,
]
],
'behaviour' => [
'mode' => 'select',
]
]
]
]
);
/***************
* Add flexForms for content element configuration
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/IconGroup.xml',
'icon_group'
);
@@ -0,0 +1,29 @@
<?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_MODE') || die();
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'Configuration/TsConfig/Page/ContentElement/Element/Image.tsconfig',
'Bootstrap Package Content Element: Image'
);
/***************
* Add additional fields
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
'tt_content',
'file_folder, filelink_sorting',
'image',
'after:image'
);
@@ -0,0 +1,82 @@
<?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_MODE') || die();
/***************
* Add Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['listgroup'])) {
$GLOBALS['TCA']['tt_content']['types']['listgroup'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'icon_group',
'after'
);
/***************
* Assign Icon
*/
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['listgroup'] = 'content-bootstrappackage-listgroup';
/***************
* Configure element type
*/
$GLOBALS['TCA']['tt_content']['types']['listgroup'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['listgroup'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
bodytext,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
',
'columnsOverrides' => [
'bodytext' => [
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext.ALT.bulletlist_formlabel',
'config' => [
'wrap' => 'off',
]
]
]
]
);
@@ -0,0 +1,104 @@
<?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_MODE') || die();
/***************
* Add Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['media'])) {
$GLOBALS['TCA']['tt_content']['types']['media'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'listgroup',
'after'
);
/***************
* Assign Icon
*/
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['media'] = 'mimetypes-x-content-multimedia';
/***************
* Configure element type
*/
$GLOBALS['TCA']['tt_content']['types']['media'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['media'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.media,
assets,
file_folder,
filelink_sorting,
--palette--;LLL:EXT:frontend/Resources/Private/Language/Database.xlf:tt_content.palette.mediaAdjustments;mediaAdjustments,
--palette--;LLL:EXT:frontend/Resources/Private/Language/Database.xlf:tt_content.palette.gallerySettings;gallerySettings,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.imagelinks;imagelinks,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
',
'columnsOverrides' => [
'assets' => [
'config' => [
'filter' => [
0 => [
'parameters' => [
'allowedFileExtensions' => 'youtube, vimeo'
]
]
],
'overrideChildTca' => [
'columns' => [
'uid_local' => [
'config' => [
'appearance' => [
'elementBrowserAllowed' => 'youtube, vimeo'
]
]
]
]
]
]
]
]
]
);
@@ -0,0 +1,88 @@
<?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_MODE') || die();
/***************
* Enable Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['menu_card_list'])) {
$GLOBALS['TCA']['tt_content']['types']['menu_card_list'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'media',
'after'
);
/***************
* Assign Icon
*/
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['menu_card_list'] = 'content-bootstrappackage-menu-card';
/***************
* Configure element type
*/
$GLOBALS['TCA']['tt_content']['types']['menu_card_list'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['menu_card_list'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
readmore_label,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.card.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.accessibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.menu_accessibility;menu_accessibility,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
/***************
* Add flexForms for content element configuration
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/MenuCard.xml',
'menu_card_list'
);
@@ -0,0 +1,88 @@
<?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_MODE') || die();
/***************
* Enable Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['menu_card_dir'])) {
$GLOBALS['TCA']['tt_content']['types']['menu_card_dir'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'menu_card_list',
'after'
);
/***************
* Assign Icon
*/
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['menu_card_dir'] = 'content-bootstrappackage-menu-card';
/***************
* Configure element type
*/
$GLOBALS['TCA']['tt_content']['types']['menu_card_dir'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['menu_card_dir'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
readmore_label,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.card.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.accessibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.menu_accessibility;menu_accessibility,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
/***************
* Add flexForms for content element configuration
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/MenuCard.xml',
'menu_card_dir'
);
@@ -0,0 +1,87 @@
<?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_MODE') || die();
/***************
* Enable Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['menu_thumbnail_list'])) {
$GLOBALS['TCA']['tt_content']['types']['menu_thumbnail_list'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'menu_card_dir',
'after'
);
/***************
* Assign Icon
*/
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['menu_thumbnail_list'] = 'content-menu-thumbnail';
/***************
* Configure element type
*/
$GLOBALS['TCA']['tt_content']['types']['menu_thumbnail_list'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['menu_thumbnail_list'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.thumbnail.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.accessibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.menu_accessibility;menu_accessibility,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
/***************
* Add flexForms for content element configuration
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/MenuThumbnail.xml',
'menu_thumbnail_list'
);
@@ -0,0 +1,87 @@
<?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_MODE') || die();
/***************
* Enable Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['menu_thumbnail_dir'])) {
$GLOBALS['TCA']['tt_content']['types']['menu_thumbnail_dir'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'menu_thumbnail_list',
'after'
);
/***************
* Assign Icon
*/
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['menu_thumbnail_dir'] = 'content-menu-thumbnail';
/***************
* Configure element type
*/
$GLOBALS['TCA']['tt_content']['types']['menu_thumbnail_dir'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['menu_thumbnail_dir'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
--div--;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.thumbnail.options,
pi_flexform;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:advanced,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.accessibility,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.menu_accessibility;menu_accessibility,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
/***************
* Add flexForms for content element configuration
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/MenuThumbnail.xml',
'menu_thumbnail_dir'
);
@@ -0,0 +1,107 @@
<?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_MODE') || die();
/***************
* Add Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['panel'])) {
$GLOBALS['TCA']['tt_content']['types']['panel'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'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.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'],
],
],
],
]
);
@@ -0,0 +1,112 @@
<?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_MODE') || die();
/***************
* Add Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['quote'])) {
$GLOBALS['TCA']['tt_content']['types']['quote'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'panel',
'after'
);
/***************
* Assign Icon
*/
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['quote'] = 'content-quote';
/***************
* Configure element type
*/
$GLOBALS['TCA']['tt_content']['types']['quote'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['quote'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.ALT.div_formlabel,
quote_link;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:quote.link,
quote_source;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:quote.source,
bodytext;LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:quote.text,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
'
]
);
/***************
* Register fields
*/
$GLOBALS['TCA']['tt_content']['columns'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['columns'],
[
'quote_source' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:quote.source',
'config' => [
'type' => 'input',
'size' => 50,
'max' => 255
]
],
'quote_link' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:quote.link',
'config' => [
'type' => 'input',
'renderType' => 'inputLink',
'size' => 50,
'max' => 1024,
'eval' => 'trim',
'fieldControl' => [
'linkPopup' => [
'options' => [
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:quote.link',
],
],
],
'softref' => 'typolink'
]
],
]
);
@@ -0,0 +1,81 @@
<?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_MODE') || die();
/***************
* Add Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['social_links'])) {
$GLOBALS['TCA']['tt_content']['types']['social_links'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'quote',
'after'
);
/***************
* Assign Icon
*/
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['social_links'] = 'content-bootstrappackage-social-links';
/***************
* Configure element type
*/
$GLOBALS['TCA']['tt_content']['types']['social_links'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['social_links'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
',
'columnsOverrides' => [
'bodytext' => [
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext_formlabel',
'config' => [
'enableRichtext' => true
]
]
]
]
);
@@ -0,0 +1,116 @@
<?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_MODE') || die();
/***************
* Add Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['tab'])) {
$GLOBALS['TCA']['tt_content']['types']['tab'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'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,
'showRemovedLocalizationRecords' => false,
'expandSingle' => true,
'enabledControls' => [
'localize' => true,
]
],
'behaviour' => [
'mode' => 'select',
]
]
]
]
);
/***************
* Add flexForms for content element configuration
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/Tab.xml',
'tab'
);
@@ -0,0 +1,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_MODE') || die();
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'Configuration/TsConfig/Page/ContentElement/Element/Table.tsconfig',
'Bootstrap Package Content Element: Table'
);
@@ -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_MODE') || die();
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'Configuration/TsConfig/Page/ContentElement/Element/Text.tsconfig',
'Bootstrap Package Content Element: Text'
);
@@ -0,0 +1,82 @@
<?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_MODE') || die();
/***************
* Add Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['textcolumn'])) {
$GLOBALS['TCA']['tt_content']['types']['textcolumn'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'tab',
'after'
);
/***************
* Assign Icon
*/
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['textcolumn'] = 'content-text-columns';
/***************
* Configure element type
*/
$GLOBALS['TCA']['tt_content']['types']['textcolumn'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['textcolumn'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
bodytext,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
',
'columnsOverrides' => [
'bodytext' => [
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext_formlabel',
'config' => [
'enableRichtext' => true
]
]
]
]
);
@@ -0,0 +1,241 @@
<?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_MODE') || die();
/***************
* Add Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['texticon'])) {
$GLOBALS['TCA']['tt_content']['types']['texticon'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'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',
'items' => [
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.none', ''],
['Ionicons', 'EXT:bootstrap_package/Resources/Public/Images/Icons/Ionicons/'],
['Glyphicons', 'EXT:bootstrap_package/Resources/Public/Images/Icons/Glyphicons/'],
],
],
],
'icon' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.icon',
'displayCond' => 'FIELD:icon_set:REQ:true',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.none', 0, 'EXT:bootstrap_package/Resources/Public/Images/Icons/none.jpg'],
],
'itemsProcFunc' => 'BK2K\BootstrapPackage\Utility\TextIconUtility->addIconItems',
'fieldWizard' => [
'selectIcons' => [
'disabled' => false,
],
],
],
],
'icon_file' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.icon_file',
'displayCond' => 'FIELD:icon_set:REQ:false',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'icon_file',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;;filePalette
'
],
],
],
'minitems' => 1,
'maxitems' => 1,
],
'gif,png,svg'
),
],
'icon_position' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.icon_position',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.left', 'left'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.right', 'right'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.top', 'top'],
],
],
],
'icon_type' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.icon_type',
'onChange' => 'reload',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'default' => 'default',
'items' => [
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.default', 'default'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.square', 'square'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.circle', 'circle'],
],
],
],
'icon_size' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.icon_size',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.default', 'default'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.medium', 'medium'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.large', 'large'],
['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.awesome', 'awesome'],
],
],
],
'icon_color' => [
'displayCond' => 'FIELD:icon_type:!=:default',
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.icon_color',
'config' => [
'type' => 'input',
'renderType' => 'colorpicker',
'default' => '#FFFFFF',
],
],
'icon_background' => [
'displayCond' => 'FIELD:icon_type:!=:default',
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.icon_background',
'config' => [
'type' => 'input',
'renderType' => 'colorpicker',
'default' => '#333333',
],
],
]
);
@@ -0,0 +1,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_MODE') || die();
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'Configuration/TsConfig/Page/ContentElement/Element/Textmedia.tsconfig',
'Bootstrap Package Content Element: Text and Media'
);
@@ -0,0 +1,29 @@
<?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_MODE') || die();
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'Configuration/TsConfig/Page/ContentElement/Element/Textpic.tsconfig',
'Bootstrap Package Content Element: Text and Images'
);
/***************
* Add additional fields
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
'tt_content',
'file_folder, filelink_sorting',
'textpic',
'after:image'
);
@@ -0,0 +1,83 @@
<?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_MODE') || die();
/***************
* Add Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['textteaser'])) {
$GLOBALS['TCA']['tt_content']['types']['textteaser'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'texticon',
'after'
);
/***************
* Assign Icon
*/
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['textteaser'] = 'content-text-teaser';
/***************
* Configure element type
*/
$GLOBALS['TCA']['tt_content']['types']['textteaser'] = array_replace_recursive(
$GLOBALS['TCA']['tt_content']['types']['textteaser'],
[
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,
teaser,
bodytext,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
',
'columnsOverrides' => [
'bodytext' => [
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext_formlabel',
'config' => [
'enableRichtext' => true
]
]
]
]
);
@@ -0,0 +1,116 @@
<?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_MODE') || die();
/***************
* Add Content Element
*/
if (!is_array($GLOBALS['TCA']['tt_content']['types']['timeline'])) {
$GLOBALS['TCA']['tt_content']['types']['timeline'] = [];
}
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'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'
],
'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,
'showRemovedLocalizationRecords' => false,
'expandSingle' => true,
'enabledControls' => [
'localize' => true,
]
],
'behaviour' => [
'mode' => 'select',
]
]
]
]
);
/***************
* Add flexForms for content element configuration
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'*',
'FILE:EXT:bootstrap_package/Configuration/FlexForms/Timeline.xml',
'timeline'
);
@@ -0,0 +1,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_MODE') || die();
/***************
* Add content element PageTSConfig
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
$extensionKey,
'Configuration/TsConfig/Page/ContentElement/Element/Uploads.tsconfig',
'Bootstrap Package Content Element: File Links'
);
@@ -0,0 +1,183 @@
<?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_MODE') || die();
/***************
* Adjust columns for generic usage
*/
$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'],
['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' => 'rtehtmlarea_images,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,
'showRemovedLocalizationRecords' => false,
'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',
]
];
/***************
* 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--,
background_color_class,
--linebreak--,
background_image,
background_image_options,
';
@@ -0,0 +1,21 @@
<?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_MODE') || die();
/***************
* Add Palettes for Generic usage
*/
$GLOBALS['TCA']['tt_content']['palettes']['header_minimal'] = [
'showitem' => '
header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header_formlabel,
--linebreak--,
header_layout;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header_layout_formlabel,
'
];
@@ -0,0 +1,23 @@
<?php
/*
* This file is part of the package bk2k/bootstrap-package.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
defined('TYPO3_MODE') || die();
// Activate T3EDITOR if extension is activated
if (TYPO3_MODE === 'BE' && \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,160 @@
<?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_MODE') || die();
/***************
* 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,
]
];
$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']['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']['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']['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']['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']['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']['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']['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']['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']['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']['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']['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']['large'] = $largeCropSettings;
$GLOBALS['TCA']['pages']['types'][$type]['columnsOverrides']['thumbnail']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['medium'] = $mediumCropSettings;
$GLOBALS['TCA']['pages']['types'][$type]['columnsOverrides']['thumbnail']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['small'] = $smallCropSettings;
$GLOBALS['TCA']['pages']['types'][$type]['columnsOverrides']['thumbnail']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['extrasmall'] = $extrasmallCropSettings;
}
@@ -0,0 +1,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,images,email[subst],url',
'enableRichtext' => true
],
],
'media' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.media',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'media',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.audioOverlayPalette;audioOverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.videoOverlayPalette;videoOverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
]
]
]
],
$GLOBALS['TYPO3_CONF_VARS']['SYS']['mediafile_ext']
),
],
'mediaorient' => [
'exclude' => 1,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.mediaorient',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.mediaorient.left',
'left'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.mediaorient.top',
'top'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.mediaorient.right',
'right'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.mediaorient.bottom',
'bottom'
],
],
'default' => 'left',
],
'l10n_mode' => 'exclude'
],
'imagecols' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.imagecols',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'1',
1
],
[
'2',
2
],
[
'3',
3
],
[
'4',
4
],
[
'5',
5
],
[
'6',
6
]
],
'default' => 2
],
'l10n_mode' => 'exclude'
],
'image_zoom' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:accordion_item.image_zoom',
'config' => [
'type' => 'check',
'items' => [
[
0 => '',
1 => '',
]
],
]
]
]
];
@@ -0,0 +1,386 @@
<?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_icon,
link_class,
'
],
'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,images,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' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:card_group_item.link_icon',
'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
'
],
],
],
'minitems' => 0,
'maxitems' => 1,
],
'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'],
['success', 'success'],
['info', 'info'],
['warning', 'warning'],
['danger', 'danger'],
['outline-default', 'outline-default'],
['outline-primary', 'outline-primary'],
['outline-secondary', 'outline-secondary'],
['outline-success', 'outline-success'],
['outline-info', 'outline-info'],
['outline-warning', 'outline-warning'],
['outline-danger', 'outline-danger'],
]
]
],
],
];
@@ -0,0 +1,705 @@
<?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,
'
],
'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'
]
],
'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,images,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',
'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',
'config' => [
'type' => 'input',
'renderType' => 'colorpicker',
'default' => '#333333',
],
'l10n_mode' => 'exclude',
],
'background_image' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:carousel_item.background_image',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'background_image',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
crop,
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;;filePalette
'
],
],
],
'minitems' => 0,
'maxitems' => 1
],
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
'l10n_mode' => 'exclude',
],
'background_image_options' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.background_image_options',
'config' => [
'type' => 'flex',
'ds' => [
'default' => 'FILE:EXT:bootstrap_package/Configuration/FlexForms/BackgroundImage.xml',
],
],
'l10n_mode' => 'exclude',
]
],
];
@@ -0,0 +1,287 @@
<?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_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,images,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_file' => [
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:icon_group_item.icon_file',
'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,
],
'svg'
),
'l10n_mode' => 'exclude',
],
],
];
@@ -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,images,email[subst],url',
'enableRichtext' => true
],
],
'media' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.media',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'media',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.audioOverlayPalette;audioOverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.videoOverlayPalette;videoOverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
]
],
],
],
$GLOBALS['TYPO3_CONF_VARS']['SYS']['mediafile_ext']
),
],
'mediaorient' => [
'exclude' => 1,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.mediaorient',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.mediaorient.left',
'left'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.mediaorient.top',
'top'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.mediaorient.right',
'right'
],
[
'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.mediaorient.bottom',
'bottom'
],
],
'default' => 'left',
],
'l10n_mode' => 'exclude'
],
'imagecols' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.imagecols',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'1',
1
],
[
'2',
2
],
[
'3',
3
],
[
'4',
4
],
[
'5',
5
],
[
'6',
6
]
],
'default' => 2
],
'l10n_mode' => 'exclude'
],
'image_zoom' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:tab_item.image_zoom',
'config' => [
'type' => 'check',
'items' => [
[
0 => '',
1 => '',
]
],
]
]
],
];
@@ -0,0 +1,324 @@
<?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_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,images,email[subst],url',
'enableRichtext' => true
],
],
'icon_file' => [
'exclude' => true,
'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:timeline_item.icon_file',
'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' => 0,
'maxitems' => 1,
],
'svg'
),
'l10n_mode' => 'exclude',
],
'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']
),
],
],
];
@@ -0,0 +1,5 @@
##########################
#### CONTENT ELEMENTS ####
##########################
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:bootstrap_package/Configuration/TsConfig/Page/ContentElement/Categories.tsconfig">
<INCLUDE_TYPOSCRIPT: source="DIR:EXT:bootstrap_package/Configuration/TsConfig/Page/ContentElement/Element" extensions="tsconfig">
@@ -0,0 +1,10 @@
####################
#### CATEGORIES ####
####################
mod.wizards.newContentElement.wizardItems {
interactive.header = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_group.interactive
media.header = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_group.media
text.header = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_group.text
social.header = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_group.social_media
data.header = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_group.data
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.interactive {
elements {
accordion {
iconIdentifier = content-bootstrappackage-accordion
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.accordion
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.accordion.description
tt_content_defValues {
CType = accordion
}
}
}
show := addToList(accordion)
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.media {
elements {
audio {
iconIdentifier = content-audio
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.audio
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.audio.description
tt_content_defValues {
CType = audio
}
}
}
show := addToList(audio)
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.text {
elements {
bullets {
iconIdentifier = content-bullets
title = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_bulletList_title
description = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_bulletList_description
tt_content_defValues {
CType = bullets
}
}
}
show := addToList(bullets)
}
@@ -0,0 +1,29 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.media {
elements {
card_group {
iconIdentifier = content-bootstrappackage-card-group
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.card_group
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.card_group.description
tt_content_defValues {
CType = card_group
}
}
}
show := addToList(card_group)
}
mod.wizards.newContentElement.wizardItems.text {
elements {
card_group {
iconIdentifier = content-bootstrappackage-card-group
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.card_group
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.card_group.description
tt_content_defValues {
CType = card_group
}
}
}
show := addToList(card_group)
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.interactive {
elements {
carousel {
iconIdentifier = content-bootstrappackage-carousel
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.carousel
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.carousel.description
tt_content_defValues {
CType = carousel
}
}
}
show := addToList(carousel)
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.interactive {
elements {
carousel_fullscreen {
iconIdentifier = content-bootstrappackage-carousel
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.carousel_fullscreen
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.carousel_fullscreen.description
tt_content_defValues {
CType = carousel_fullscreen
}
}
}
show := addToList(carousel_fullscreen)
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.interactive {
elements {
carousel_small {
iconIdentifier = content-bootstrappackage-carousel
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.carousel_small
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.carousel_small.description
tt_content_defValues {
CType = carousel_small
}
}
}
show := addToList(carousel_small)
}
@@ -0,0 +1,25 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.data {
elements {
csv {
iconIdentifier = content-bootstrappackage-csv
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.csv
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.csv.description
tt_content_defValues {
CType = csv
}
}
}
show := addToList(csv)
}
#################
#### PREVIEW ####
#################
mod.web_layout.tt_content {
preview {
csv = EXT:bootstrap_package/Resources/Private/Templates/Preview/Csv.html
}
}
@@ -0,0 +1,25 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.media {
elements {
external_media {
iconIdentifier = content-bootstrappackage-externalmedia
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.external_media
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.external_media.description
tt_content_defValues {
CType = external_media
}
}
}
show := addToList(external_media)
}
#################
#### PREVIEW ####
#################
mod.web_layout.tt_content {
preview {
external_media = EXT:bootstrap_package/Resources/Private/Templates/Preview/ExternalMedia.html
}
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.text {
elements {
header {
iconIdentifier = content-header
title = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_headerOnly_title
description = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_headerOnly_description
tt_content_defValues {
CType = header
}
}
}
show := addToList(header)
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.media {
elements {
icon_group {
iconIdentifier = content-bootstrappackage-icon-group
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.icon_group
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.icon_group.description
tt_content_defValues {
CType = icon_group
}
}
}
show := addToList(icon_group)
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.media {
elements {
image {
iconIdentifier = content-image
title = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_imagesOnly_title
description = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_imagesOnly_description
tt_content_defValues {
CType = image
}
}
}
show := addToList(image)
}
@@ -0,0 +1,25 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.text {
elements {
listgroup {
iconIdentifier = content-bootstrappackage-listgroup
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.listgroup
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.listgroup.description
tt_content_defValues {
CType = listgroup
}
}
}
show := addToList(listgroup)
}
#################
#### PREVIEW ####
#################
mod.web_layout.tt_content {
preview {
listgroup = EXT:bootstrap_package/Resources/Private/Templates/Preview/ListGroup.html
}
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.media {
elements {
media {
iconIdentifier = mimetypes-x-content-multimedia
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.media
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.media.description
tt_content_defValues {
CType = media
}
}
}
show := addToList(media)
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.menu {
elements {
menu_card_dir {
iconIdentifier = content-bootstrappackage-menu-card
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.card_dir
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.card_dir.description
tt_content_defValues {
CType = menu_card_dir
}
}
}
show := addToList(menu_card_dir)
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.menu {
elements {
menu_card_list {
iconIdentifier = content-bootstrappackage-menu-card
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.card_list
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.card_list.description
tt_content_defValues {
CType = menu_card_list
}
}
}
show := addToList(menu_card_list)
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.menu {
elements {
menu_thumbnail_dir {
iconIdentifier = content-menu-thumbnail
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.thumbnail_dir
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.thumbnail_dir.description
tt_content_defValues {
CType = menu_thumbnail_dir
}
}
}
show := addToList(menu_thumbnail_dir)
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.menu {
elements {
menu_thumbnail_list {
iconIdentifier = content-menu-thumbnail
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.thumbnail_list
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:menu.thumbnail_list.description
tt_content_defValues {
CType = menu_thumbnail_list
}
}
}
show := addToList(menu_thumbnail_list)
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.text {
elements {
panel {
iconIdentifier = content-panel
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.panel
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.panel.description
tt_content_defValues {
CType = panel
}
}
}
show := addToList(panel)
}
@@ -0,0 +1,25 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.text {
elements {
quote {
iconIdentifier = content-quote
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.quote
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.quote.description
tt_content_defValues {
CType = quote
}
}
}
show := addToList(quote)
}
#################
#### PREVIEW ####
#################
mod.web_layout.tt_content {
preview {
quote = EXT:bootstrap_package/Resources/Private/Templates/Preview/Quote.html
}
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.social {
elements {
social_links {
iconIdentifier = content-bootstrappackage-social-links
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.social_links
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.social_links.description
tt_content_defValues {
CType = social_links
}
}
}
show := addToList(social_links)
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.media {
elements {
tab {
iconIdentifier = content-bootstrappackage-tab
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.tab
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.tab.description
tt_content_defValues {
CType = tab
}
}
}
show := addToList(tab)
}
@@ -0,0 +1,29 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.data {
elements {
table {
iconIdentifier = content-table
title = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_table_title
description = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_table_description
tt_content_defValues {
CType = table
}
}
}
show := addToList(table)
}
mod.wizards.newContentElement.wizardItems.text {
elements {
table {
iconIdentifier = content-table
title = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_table_title
description = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_table_description
tt_content_defValues {
CType = table
}
}
}
show := addToList(table)
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.text {
elements {
text {
iconIdentifier = content-text
title = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_regularText_title
description = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_regularText_description
tt_content_defValues {
CType = text
}
}
}
show := addToList(text)
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.text {
elements {
textcolumn {
iconIdentifier = content-text-columns
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.textcolumn
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.textcolumn.description
tt_content_defValues {
CType = textcolumn
}
}
}
show := addToList(textcolumn)
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.text {
elements {
texticon {
iconIdentifier = content-bootstrappackage-texticon
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.texticon
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.texticon.description
tt_content_defValues {
CType = texticon
}
}
}
show := addToList(texticon)
}
@@ -0,0 +1,29 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.media {
elements {
textmedia {
iconIdentifier = content-textmedia
title = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_textMedia_title
description = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_textMedia_description
tt_content_defValues {
CType = textmedia
}
}
}
show := addToList(textmedia)
}
mod.wizards.newContentElement.wizardItems.text {
elements {
textmedia {
iconIdentifier = content-textmedia
title = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_textMedia_title
description = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_textMedia_description
tt_content_defValues {
CType = textmedia
}
}
}
show := addToList(textmedia)
}
@@ -0,0 +1,29 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.media {
elements {
textpic {
iconIdentifier = content-textpic
title = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_textImage_title
description = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_textImage_description
tt_content_defValues {
CType = textpic
}
}
}
show := addToList(textpic)
}
mod.wizards.newContentElement.wizardItems.text {
elements {
textpic {
iconIdentifier = content-textpic
title = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_textImage_title
description = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:common_textImage_description
tt_content_defValues {
CType = textpic
}
}
}
show := addToList(textpic)
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.text {
elements {
textteaser {
iconIdentifier = content-text-teaser
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.textteaser
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.textteaser.description
tt_content_defValues {
CType = textteaser
}
}
}
show := addToList(textteaser)
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.interactive {
elements {
timeline {
iconIdentifier = content-bootstrappackage-timeline
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.timeline
description = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:content_element.timeline.description
tt_content_defValues {
CType = timeline
}
}
}
show := addToList(timeline)
}
@@ -0,0 +1,16 @@
####################################
#### NEW CONTENT ELEMENT WIZARD ####
####################################
mod.wizards.newContentElement.wizardItems.media {
elements {
uploads {
iconIdentifier = content-special-uploads
title = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:special_filelinks_title
description = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:special_filelinks_description
tt_content_defValues {
CType = uploads
}
}
}
show := addToList(uploads)
}
@@ -0,0 +1,4 @@
########################
#### BACKENDLAYOUTS ####
########################
<INCLUDE_TYPOSCRIPT: source="DIR:EXT:bootstrap_package/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts" extensions="tsconfig">
@@ -0,0 +1,81 @@
##################################
#### BACKENDLAYOUT: 2 COLUMNS ####
##################################
mod {
web_layout {
BackendLayouts {
2_columns {
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.2_columns
config {
backend_layout {
colCount = 12
rowCount = 5
rows {
1 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.border
colPos = 3
colspan = 12
}
}
}
2 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.contentbefore
colPos = 8
colspan = 12
}
}
}
3 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.normal
colPos = 0
colspan = 8
}
2 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.right
colPos = 2
colspan = 4
}
}
}
4 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.contentafter
colPos = 9
colspan = 12
}
}
}
5 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.footer1
colPos = 10
colspan = 4
}
2 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.footer2
colPos = 11
colspan = 4
}
3 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.footer3
colPos = 12
colspan = 4
}
}
}
}
}
}
icon = EXT:bootstrap_package/Resources/Public/Icons/BackendLayouts/2_columns.svg
}
}
}
}
@@ -0,0 +1,81 @@
########################################
#### BACKENDLAYOUT: 2 COLUMNS 25/75 ####
########################################
mod {
web_layout {
BackendLayouts {
2_columns_25_75 {
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.2_columns_25_75
config {
backend_layout {
colCount = 12
rowCount = 5
rows {
1 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.border
colPos = 3
colspan = 12
}
}
}
2 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.contentbefore
colPos = 8
colspan = 12
}
}
}
3 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.left
colPos = 1
colspan = 4
}
2 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.normal
colPos = 0
colspan = 8
}
}
}
4 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.contentafter
colPos = 9
colspan = 12
}
}
}
5 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.footer1
colPos = 10
colspan = 4
}
2 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.footer2
colPos = 11
colspan = 4
}
3 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.footer3
colPos = 12
colspan = 4
}
}
}
}
}
}
icon = EXT:bootstrap_package/Resources/Public/Icons/BackendLayouts/2_columns_25_75.svg
}
}
}
}
@@ -0,0 +1,81 @@
########################################
#### BACKENDLAYOUT: 2 COLUMNS 50/50 ####
########################################
mod {
web_layout {
BackendLayouts {
2_columns_50_50 {
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.2_columns_50_50
config {
backend_layout {
colCount = 12
rowCount = 5
rows {
1 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.border
colPos = 3
colspan = 12
}
}
}
2 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.contentbefore
colPos = 8
colspan = 12
}
}
}
3 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.normal
colPos = 0
colspan = 6
}
2 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.right
colPos = 2
colspan = 6
}
}
}
4 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.contentafter
colPos = 9
colspan = 12
}
}
}
5 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.footer1
colPos = 10
colspan = 4
}
2 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.footer2
colPos = 11
colspan = 4
}
3 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.footer3
colPos = 12
colspan = 4
}
}
}
}
}
}
icon = EXT:bootstrap_package/Resources/Public/Icons/BackendLayouts/2_columns_50_50.svg
}
}
}
}
@@ -0,0 +1,81 @@
###############################################
#### BACKENDLAYOUT: 2 COLUMNS OFFSET RIGHT ####
###############################################
mod {
web_layout {
BackendLayouts {
2_columns_offset_right {
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.2_columns_offset_right
config {
backend_layout {
colCount = 12
rowCount = 5
rows {
1 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.border
colPos = 3
colspan = 12
}
}
}
2 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.contentbefore
colPos = 8
colspan = 12
}
}
}
3 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.normal
colPos = 0
colspan = 8
}
2 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.right
colPos = 2
colspan = 4
}
}
}
4 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.contentafter
colPos = 9
colspan = 12
}
}
}
5 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.footer1
colPos = 10
colspan = 4
}
2 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.footer2
colPos = 11
colspan = 4
}
3 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.footer3
colPos = 12
colspan = 4
}
}
}
}
}
}
icon = EXT:bootstrap_package/Resources/Public/Icons/BackendLayouts/2_columns_offset_right.svg
}
}
}
}
@@ -0,0 +1,86 @@
##################################
#### BACKENDLAYOUT: 3 COLUMNS ####
##################################
mod {
web_layout {
BackendLayouts {
3_columns {
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.3_columns
config {
backend_layout {
colCount = 12
rowCount = 5
rows {
1 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.border
colPos = 3
colspan = 12
}
}
}
2 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.contentbefore
colPos = 8
colspan = 12
}
}
}
3 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.left
colPos = 1
colspan = 3
}
2 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.normal
colPos = 0
colspan = 6
}
3 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.right
colPos = 2
colspan = 3
}
}
}
4 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.contentafter
colPos = 9
colspan = 12
}
}
}
5 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.footer1
colPos = 10
colspan = 4
}
2 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.footer2
colPos = 11
colspan = 4
}
3 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.footer3
colPos = 12
colspan = 4
}
}
}
}
}
}
icon = EXT:bootstrap_package/Resources/Public/Icons/BackendLayouts/3_columns.svg
}
}
}
}
@@ -0,0 +1,76 @@
################################
#### BACKENDLAYOUT: DEFAULT ####
################################
mod {
web_layout {
BackendLayouts {
default {
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.default
config {
backend_layout {
colCount = 12
rowCount = 5
rows {
1 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.border
colPos = 3
colspan = 12
}
}
}
2 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.contentbefore
colPos = 8
colspan = 12
}
}
}
3 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.normal
colPos = 0
colspan = 12
}
}
}
4 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.contentafter
colPos = 9
colspan = 12
}
}
}
5 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.footer1
colPos = 10
colspan = 4
}
2 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.footer2
colPos = 11
colspan = 4
}
3 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.footer3
colPos = 12
colspan = 4
}
}
}
}
}
}
icon = EXT:bootstrap_package/Resources/Public/Icons/BackendLayouts/default.svg
}
}
}
}
@@ -0,0 +1,57 @@
###############################
#### BACKENDLAYOUT: SIMPLE ####
###############################
mod {
web_layout {
BackendLayouts {
simple {
title = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.simple
config {
backend_layout {
colCount = 12
rowCount = 4
rows {
1 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.border
colPos = 3
colspan = 12
}
}
}
2 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.contentbefore
colPos = 8
colspan = 12
}
}
}
3 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.normal
colPos = 0
colspan = 12
}
}
}
4 {
columns {
1 {
name = LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:backend_layout.column.contentafter
colPos = 9
colspan = 12
}
}
}
}
}
}
icon = EXT:bootstrap_package/Resources/Public/Icons/BackendLayouts/simple.svg
}
}
}
}
Loaded 100 of 12716 files, more files were not shown because too many files have changed in this diff. Show more