From 2e2ddbcea6b4ad966848fefa71bcbbaf21dc7628 Mon Sep 17 00:00:00 2001
From: Oliver Bartsch <bo@cedev.de>
Date: Thu, 5 Sep 2024 13:17:55 +0200
Subject: [PATCH] [TASK] Split up tt_content by extracting content types

This extracts most of the content types from the main
tt_content file to dedicated configuration files in
the TCA/Overrides/ directory.

This allows a better handling and also paves the
ways for a component based registration in the
future.

Resolves: #104838
Releases: main
Change-Id: I1b1446a506aaa0774d70fdcdfdbcf466eff9a580
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/85898
Reviewed-by: Nikita Hovratov <nikita.h@live.de>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Nikita Hovratov <nikita.h@live.de>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Oliver Bartsch <bo@cedev.de>
---
 .../Schema/RelationMapBuilderTest.php         |   8 +-
 ...{sys_reaction.php => 100-sys_reaction.php} |   0
 .../{tt_content.php => 200-tt_content.php}    |   0
 .../220-tt_content-content_type-textpic.php   |  54 ++
 .../225-tt_content-content_type-image.php     |  46 ++
 .../230-tt_content-content_type-textmedia.php |  54 ++
 .../235-tt_content-content_type-bullets.php   |  70 ++
 .../240-tt_content-content_type-table.php     | 163 ++++
 .../245-tt_content-content_type-uploads.php   | 170 ++++
 ...-tt_content-content_type-menu_abstract.php |  44 +
 ...-content_type-menu_categorized_content.php |  59 ++
 ...nt-content_type-menu_categorized_pages.php |  59 ++
 ...260-tt_content-content_type-menu_pages.php |  44 +
 ...-tt_content-content_type-menu_subpages.php |  44 +
 ...ent-content_type-menu_recently_updated.php |  44 +
 ...ontent-content_type-menu_related_pages.php |  44 +
 ...5-tt_content-content_type-menu_section.php |  44 +
 ...ontent-content_type-menu_section_pages.php |  44 +
 ...0-tt_content-content_type-menu_sitemap.php |  43 +
 ...ontent-content_type-menu_sitemap_pages.php |  44 +
 .../285-tt_content-content_type-shortcut.php  |  62 ++
 .../290-tt_content-content_type-div.php       |  49 ++
 .../295-tt_content-content_type-html.php      |  47 ++
 .../frontend/Configuration/TCA/tt_content.php | 766 +-----------------
 24 files changed, 1240 insertions(+), 762 deletions(-)
 rename typo3/sysext/frontend/Configuration/TCA/Overrides/{sys_reaction.php => 100-sys_reaction.php} (100%)
 rename typo3/sysext/frontend/Configuration/TCA/Overrides/{tt_content.php => 200-tt_content.php} (100%)
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/220-tt_content-content_type-textpic.php
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/225-tt_content-content_type-image.php
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/230-tt_content-content_type-textmedia.php
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/235-tt_content-content_type-bullets.php
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/240-tt_content-content_type-table.php
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/245-tt_content-content_type-uploads.php
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/250-tt_content-content_type-menu_abstract.php
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/255-tt_content-content_type-menu_categorized_content.php
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/255-tt_content-content_type-menu_categorized_pages.php
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/260-tt_content-content_type-menu_pages.php
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/260-tt_content-content_type-menu_subpages.php
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/265-tt_content-content_type-menu_recently_updated.php
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/270-tt_content-content_type-menu_related_pages.php
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/275-tt_content-content_type-menu_section.php
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/275-tt_content-content_type-menu_section_pages.php
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/280-tt_content-content_type-menu_sitemap.php
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/280-tt_content-content_type-menu_sitemap_pages.php
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/285-tt_content-content_type-shortcut.php
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/290-tt_content-content_type-div.php
 create mode 100644 typo3/sysext/frontend/Configuration/TCA/Overrides/295-tt_content-content_type-html.php

diff --git a/typo3/sysext/core/Tests/Functional/Schema/RelationMapBuilderTest.php b/typo3/sysext/core/Tests/Functional/Schema/RelationMapBuilderTest.php
index 6d3c4a4b9317..987d0b5f4c9e 100644
--- a/typo3/sysext/core/Tests/Functional/Schema/RelationMapBuilderTest.php
+++ b/typo3/sysext/core/Tests/Functional/Schema/RelationMapBuilderTest.php
@@ -72,8 +72,10 @@ final class RelationMapBuilderTest extends FunctionalTestCase
         // find the relation back to tt_content
         $relationToTtContent = array_filter($result, static fn(PassiveRelation $relation) => $relation->fromTable() === 'tt_content');
         $relationToTtContent = array_values($relationToTtContent);
-        self::assertEquals('image', $relationToTtContent[0]->fromField());
-        self::assertEquals('assets', $relationToTtContent[1]->fromField());
-        self::assertEquals('media', $relationToTtContent[2]->fromField());
+
+        self::assertEquals(
+            ['image', 'assets', 'media'],
+            array_map(static fn(PassiveRelation $relation) => $relation->fromField(), $relationToTtContent)
+        );
     }
 }
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/sys_reaction.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/100-sys_reaction.php
similarity index 100%
rename from typo3/sysext/frontend/Configuration/TCA/Overrides/sys_reaction.php
rename to typo3/sysext/frontend/Configuration/TCA/Overrides/100-sys_reaction.php
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/tt_content.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/200-tt_content.php
similarity index 100%
rename from typo3/sysext/frontend/Configuration/TCA/Overrides/tt_content.php
rename to typo3/sysext/frontend/Configuration/TCA/Overrides/200-tt_content.php
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/220-tt_content-content_type-textpic.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/220-tt_content-content_type-textpic.php
new file mode 100644
index 000000000000..db70753c4d6b
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/220-tt_content-content_type-textpic.php
@@ -0,0 +1,54 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'textpic';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.textpic',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.textpic.description',
+        'value' => $contentType,
+        'icon' => 'content-textpic',
+        'group' => 'default',
+    ],
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'mimetypes-x-content-text-picture',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'showitem' => '
+                        --palette--;;headers,
+                        bodytext;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext_formlabel,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:images,
+                        image,
+                        --palette--;;mediaAdjustments,
+                        --palette--;;gallerySettings,
+                        --palette--;;imagelinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+                'columnsOverrides' => [
+                    'bodytext' => [
+                        'config' => [
+                            'enableRichtext' => true,
+                        ],
+                    ],
+                ],
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/225-tt_content-content_type-image.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/225-tt_content-content_type-image.php
new file mode 100644
index 000000000000..c7543f6880b7
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/225-tt_content-content_type-image.php
@@ -0,0 +1,46 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'image';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.image',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.image.description',
+        'value' => $contentType,
+        'icon' => 'content-image',
+        'group' => 'default',
+    ],
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'mimetypes-x-content-image',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'showitem' => '
+                    --palette--;;headers,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:images,
+                        image,
+                        --palette--;;mediaAdjustments,
+                        --palette--;;gallerySettings,
+                        --palette--;;imagelinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/230-tt_content-content_type-textmedia.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/230-tt_content-content_type-textmedia.php
new file mode 100644
index 000000000000..8f689426418b
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/230-tt_content-content_type-textmedia.php
@@ -0,0 +1,54 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'textmedia';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.textmedia',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.textmedia.description',
+        'value' => $contentType,
+        'icon' => 'content-textmedia',
+        'group' => 'default',
+    ],
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'mimetypes-x-content-text-media',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'showitem' => '
+                        --palette--;;headers,
+                        bodytext;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext_formlabel,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:media,
+                        assets,
+                        --palette--;;mediaAdjustments,
+                        --palette--;;gallerySettings,
+                        --palette--;;imagelinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+                'columnsOverrides' => [
+                    'bodytext' => [
+                        'config' => [
+                            'enableRichtext' => true,
+                        ],
+                    ],
+                ],
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/235-tt_content-content_type-bullets.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/235-tt_content-content_type-bullets.php
new file mode 100644
index 000000000000..c47ce1d37cc6
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/235-tt_content-content_type-bullets.php
@@ -0,0 +1,70 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'bullets';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.bullets',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.bullets.description',
+        'value' => $contentType,
+        'icon' => 'content-bullets',
+        'group' => 'lists',
+    ],
+);
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
+    'tt_content',
+    [
+        'bullets_type' => [
+            'exclude' => true,
+            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bullets_type',
+            'config' => [
+                'type' => 'select',
+                'renderType' => 'selectSingle',
+                'items' => [
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bullets_type.0', 'value' => 0],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bullets_type.1', 'value' => 1],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bullets_type.2', 'value' => 2],
+                ],
+                'default' => 0,
+            ],
+        ],
+    ]
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'mimetypes-x-content-list-bullets',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'showitem' => '
+                        --palette--;;headers,
+                        bullets_type,
+                        bodytext;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext.ALT.bulletlist_formlabel,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+                'columnsOverrides' => [
+                    'bodytext' => [
+                        'config' => [
+                            'wrap' => 'off',
+                        ],
+                    ],
+                ],
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/240-tt_content-content_type-table.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/240-tt_content-content_type-table.php
new file mode 100644
index 000000000000..a4119697f567
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/240-tt_content-content_type-table.php
@@ -0,0 +1,163 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'table';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.table',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.table.description',
+        'value' => $contentType,
+        'icon' => 'content-table',
+        'group' => 'lists',
+    ]
+);
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
+    'tt_content',
+    [
+        'cols' => [
+            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:cols',
+            'config' => [
+                'type' => 'select',
+                'renderType' => 'selectSingle',
+                'items' => [
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:cols.I.0', 'value' => '0'],
+                    ['label' => '1', 'value' => '1'],
+                    ['label' => '2', 'value' => '2'],
+                    ['label' => '3', 'value' => '3'],
+                    ['label' => '4', 'value' => '4'],
+                    ['label' => '5', 'value' => '5'],
+                    ['label' => '6', 'value' => '6'],
+                    ['label' => '7', 'value' => '7'],
+                    ['label' => '8', 'value' => '8'],
+                    ['label' => '9', 'value' => '9'],
+                ],
+                'default' => 0,
+            ],
+        ],
+        'table_class' => [
+            'exclude' => true,
+            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_class',
+            'config' => [
+                'type' => 'select',
+                'renderType' => 'selectSingle',
+                'items' => [
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_class.default', 'value' => ''],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_class.striped', 'value' => 'striped'],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_class.bordered', 'value' => 'bordered'],
+                ],
+                'default' => '',
+                'dbFieldLength' => 60,
+            ],
+        ],
+        'table_caption' => [
+            'exclude' => true,
+            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_caption',
+            'config' => [
+                'type' => 'input',
+            ],
+        ],
+        'table_delimiter' => [
+            'exclude' => true,
+            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_delimiter',
+            'config' => [
+                'type' => 'select',
+                'renderType' => 'selectSingle',
+                'items' => [
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_delimiter.124', 'value' => 124],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_delimiter.59', 'value' => 59],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_delimiter.44', 'value' => 44],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_delimiter.58', 'value' => 58],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_delimiter.9', 'value' => 9],
+                ],
+                'default' => 124,
+            ],
+        ],
+        'table_enclosure' => [
+            'exclude' => true,
+            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_enclosure',
+            'config' => [
+                'type' => 'select',
+                'renderType' => 'selectSingle',
+                'items' => [
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_enclosure.0', 'value' => 0],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_enclosure.39', 'value' => 39],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_enclosure.34', 'value' => 34],
+                ],
+                'default' => 0,
+            ],
+        ],
+        'table_header_position' => [
+            'exclude' => true,
+            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_header_position',
+            'config' => [
+                'type' => 'select',
+                'renderType' => 'selectSingle',
+                'items' => [
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_header_position.0', 'value' => 0],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_header_position.1', 'value' => 1],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_header_position.2', 'value' => 2],
+                ],
+                'default' => 0,
+            ],
+        ],
+        'table_tfoot' => [
+            'exclude' => true,
+            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_tfoot',
+            'config' => [
+                'type' => 'check',
+                'renderType' => 'checkboxToggle',
+                'default' => 0,
+            ],
+        ],
+    ]
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'mimetypes-x-content-table',
+            ],
+        ],
+        'palettes' => [
+            'tableconfiguration' => [
+                'showitem' => 'table_delimiter,table_enclosure',
+            ],
+            'tablelayout' => [
+                'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.table_layout',
+                'showitem' => 'cols, table_class, table_header_position, table_tfoot',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'showitem' => '
+                        --palette--;;headers,
+                        bodytext;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:field.table.bodytext,
+                        --palette--;;tableconfiguration,
+                        table_caption,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;tablelayout,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+                'columnsOverrides' => [
+                    'bodytext' => [
+                        'config' => [
+                            'renderType' => 'textTable',
+                            'wrap' => 'off',
+                        ],
+                    ],
+                ],
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/245-tt_content-content_type-uploads.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/245-tt_content-content_type-uploads.php
new file mode 100644
index 000000000000..79fcad690e0d
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/245-tt_content-content_type-uploads.php
@@ -0,0 +1,170 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'uploads';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.uploads',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.uploads.description',
+        'value' => $contentType,
+        'icon' => 'content-special-uploads',
+        'group' => 'lists',
+    ]
+);
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
+    'tt_content',
+    [
+        'file_collections' => [
+            'exclude' => true,
+            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:file_collections',
+            'config' => [
+                'type' => 'group',
+                'localizeReferencesAtParentLocalization' => true,
+                'allowed' => 'sys_file_collection',
+                'foreign_table' => 'sys_file_collection',
+                'size' => 5,
+                'fieldControl' => [
+                    'addRecord' => [
+                        'disabled' => false,
+                        'options' => [
+                            'title' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:file_mountpoints_add_title',
+                            'setValue' => 'prepend',
+                        ],
+                    ],
+                ],
+            ],
+        ],
+        'filelink_size' => [
+            'exclude' => true,
+            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_size',
+            'config' => [
+                'type' => 'check',
+                'renderType' => 'checkboxToggle',
+            ],
+        ],
+        'filelink_sorting' => [
+            'exclude' => true,
+            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting',
+            'config' => [
+                'type' => 'select',
+                'renderType' => 'selectSingle',
+                'items' => [
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting.none', 'value' => ''],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting.extension', 'value' => 'extension'],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting.name', 'value' => 'name'],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting.type', 'value' => 'type'],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting.size', 'value' => 'size'],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting.creation_date', 'value' => 'creation_date'],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting.modification_date', 'value' => 'modification_date'],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting.title', 'value' => 'title'],
+                ],
+                'dbFieldLength' => 64,
+            ],
+        ],
+        'filelink_sorting_direction' => [
+            'exclude' => true,
+            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting_direction',
+            'config' => [
+                'type' => 'select',
+                'renderType' => 'selectSingle',
+                'items' => [
+                    ['label' => '', 'value' => ''],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting_direction.ascending', 'value' => 'asc'],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting_direction.descending', 'value' => 'desc'],
+                ],
+                'dbFieldLength' => 4,
+            ],
+        ],
+        'target' => [
+            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:target',
+            'config' => [
+                'type' => 'input',
+                'max' => 30,
+                'size' => 20,
+                'eval' => 'trim',
+                'valuePicker' => [
+                    'items' => [
+                        [ 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:target.I.1', '_blank' ],
+                    ],
+                ],
+                'default' => '',
+            ],
+        ],
+        'uploads_description' => [
+            'exclude' => true,
+            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:uploads_description',
+            'config' => [
+                'type' => 'check',
+                'renderType' => 'checkboxToggle',
+                'default' => 0,
+            ],
+        ],
+        'uploads_type' => [
+            'exclude' => true,
+            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:uploads_type',
+            'config' => [
+                'type' => 'select',
+                'renderType' => 'selectSingle',
+                'items' => [
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:uploads_type.0', 'value' => 0],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:uploads_type.1', 'value' => 1],
+                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:uploads_type.2', 'value' => 2],
+                ],
+                'default' => 0,
+            ],
+        ],
+    ]
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'mimetypes-x-content-list-files',
+            ],
+        ],
+        'palettes' => [
+            'uploads' => [
+                'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:media',
+                'showitem' => '
+                    media;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:media.ALT.uploads_formlabel,
+                    --linebreak--,
+                    file_collections;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:file_collections.ALT.uploads_formlabel,
+                    --linebreak--,
+                    filelink_sorting,
+                    filelink_sorting_direction,
+                    target
+                ',
+            ],
+            'uploadslayout' => [
+                'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.uploads_layout',
+                'showitem' => '
+                    filelink_size;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_size_formlabel,
+                    uploads_description,
+                    uploads_type
+                ',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'showitem' => '
+                        --palette--;;headers,
+                        --palette--;;uploads,
+                        --palette--;;uploadslayout,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/250-tt_content-content_type-menu_abstract.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/250-tt_content-content_type-menu_abstract.php
new file mode 100644
index 000000000000..1e31a8b919c8
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/250-tt_content-content_type-menu_abstract.php
@@ -0,0 +1,44 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'menu_abstract';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_abstract',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_abstract.description',
+        'value' => $contentType,
+        'icon' => 'content-menu-abstract',
+        'group' => 'menu',
+    ],
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'content-menu-abstract',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'showitem' => '
+                        --palette--;;headers,
+                        pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
+                        --palette--;;menu_accessibility,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/255-tt_content-content_type-menu_categorized_content.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/255-tt_content-content_type-menu_categorized_content.php
new file mode 100644
index 000000000000..9a55f093a4c3
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/255-tt_content-content_type-menu_categorized_content.php
@@ -0,0 +1,59 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'menu_categorized_content';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_categorized_content',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_categorized_content.description',
+        'value' => $contentType,
+        'icon' => 'content-menu-categorized',
+        'group' => 'menu',
+    ],
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'content-menu-categorized',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'showitem' => '
+                        --palette--;;headers,
+                        selected_categories,
+                        category_field,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
+                        --palette--;;menu_accessibility,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+                'columnsOverrides' => [
+                    'selected_categories' => [
+                        'config' => [
+                            'minitems' => 1,
+                        ],
+                    ],
+                    'category_field' => [
+                        'config' => [
+                            'itemsProcConfig' => [
+                                'table' => 'tt_content',
+                            ],
+                        ],
+                    ],
+                ],
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/255-tt_content-content_type-menu_categorized_pages.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/255-tt_content-content_type-menu_categorized_pages.php
new file mode 100644
index 000000000000..e9af2eb1dd7f
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/255-tt_content-content_type-menu_categorized_pages.php
@@ -0,0 +1,59 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'menu_categorized_pages';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_categorized_pages',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_categorized_pages.description',
+        'value' => $contentType,
+        'icon' => 'content-menu-categorized',
+        'group' => 'menu',
+    ],
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'content-menu-categorized',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'showitem' => '
+                        --palette--;;headers,
+                        selected_categories,
+                        category_field,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
+                        --palette--;;menu_accessibility,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+                'columnsOverrides' => [
+                    'selected_categories' => [
+                        'config' => [
+                            'minitems' => 1,
+                        ],
+                    ],
+                    'category_field' => [
+                        'config' => [
+                            'itemsProcConfig' => [
+                                'table' => 'pages',
+                            ],
+                        ],
+                    ],
+                ],
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/260-tt_content-content_type-menu_pages.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/260-tt_content-content_type-menu_pages.php
new file mode 100644
index 000000000000..521ec50dddf6
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/260-tt_content-content_type-menu_pages.php
@@ -0,0 +1,44 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'menu_pages';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_pages',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_pages.description',
+        'value' => $contentType,
+        'icon' => 'content-menu-pages',
+        'group' => 'menu',
+    ],
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'content-menu-pages',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'showitem' => '
+                        --palette--;;headers,
+                        pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
+                        --palette--;;menu_accessibility,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/260-tt_content-content_type-menu_subpages.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/260-tt_content-content_type-menu_subpages.php
new file mode 100644
index 000000000000..b46e369c1426
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/260-tt_content-content_type-menu_subpages.php
@@ -0,0 +1,44 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'menu_subpages';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_subpages',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_subpages.description',
+        'value' => $contentType,
+        'icon' => 'content-menu-pages',
+        'group' => 'menu',
+    ],
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'content-menu-pages',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'showitem' => '
+                        --palette--;;headers,
+                        pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
+                        --palette--;;menu_accessibility,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/265-tt_content-content_type-menu_recently_updated.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/265-tt_content-content_type-menu_recently_updated.php
new file mode 100644
index 000000000000..fa34cc7052d9
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/265-tt_content-content_type-menu_recently_updated.php
@@ -0,0 +1,44 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'menu_recently_updated';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_recently_updated',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_recently_updated.description',
+        'value' => $contentType,
+        'icon' => 'content-menu-recently-updated',
+        'group' => 'menu',
+    ],
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'content-menu-recently-updated',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'showitem' => '
+                        --palette--;;headers,
+                        pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
+                        --palette--;;menu_accessibility,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/270-tt_content-content_type-menu_related_pages.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/270-tt_content-content_type-menu_related_pages.php
new file mode 100644
index 000000000000..ad2b4a93c4bc
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/270-tt_content-content_type-menu_related_pages.php
@@ -0,0 +1,44 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'menu_related_pages';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_related_pages',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_related_pages.description',
+        'value' => $contentType,
+        'icon' => 'content-menu-related',
+        'group' => 'menu',
+    ],
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'content-menu-related',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'showitem' => '
+                        --palette--;;headers,
+                        pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
+                        --palette--;;menu_accessibility,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/275-tt_content-content_type-menu_section.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/275-tt_content-content_type-menu_section.php
new file mode 100644
index 000000000000..f8341a219540
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/275-tt_content-content_type-menu_section.php
@@ -0,0 +1,44 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'menu_section';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_section',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_section.description',
+        'value' => $contentType,
+        'icon' => 'content-menu-section',
+        'group' => 'menu',
+    ],
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'content-menu-section',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'showitem' => '
+                        --palette--;;headers,
+                        pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
+                        --palette--;;menu_accessibility,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/275-tt_content-content_type-menu_section_pages.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/275-tt_content-content_type-menu_section_pages.php
new file mode 100644
index 000000000000..6cd5fd63b89f
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/275-tt_content-content_type-menu_section_pages.php
@@ -0,0 +1,44 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'menu_section_pages';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_section_pages',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_section_pages.description',
+        'value' => $contentType,
+        'icon' => 'content-menu-section',
+        'group' => 'menu',
+    ],
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'content-menu-section',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'showitem' => '
+                        --palette--;;headers,
+                        pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
+                        --palette--;;menu_accessibility,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/280-tt_content-content_type-menu_sitemap.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/280-tt_content-content_type-menu_sitemap.php
new file mode 100644
index 000000000000..9a1774982bec
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/280-tt_content-content_type-menu_sitemap.php
@@ -0,0 +1,43 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'menu_sitemap';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_sitemap',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_sitemap.description',
+        'value' => $contentType,
+        'icon' => 'content-menu-sitemap',
+        'group' => 'menu',
+    ],
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'content-menu-sitemap',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'showitem' => '
+                        --palette--;;headers,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
+                        --palette--;;menu_accessibility,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/280-tt_content-content_type-menu_sitemap_pages.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/280-tt_content-content_type-menu_sitemap_pages.php
new file mode 100644
index 000000000000..2d086f7acb52
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/280-tt_content-content_type-menu_sitemap_pages.php
@@ -0,0 +1,44 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'menu_sitemap_pages';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_sitemap_pages',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_sitemap_pages.description',
+        'value' => $contentType,
+        'icon' => 'content-menu-sitemap-pages',
+        'group' => 'menu',
+    ],
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'content-menu-sitemap-pages',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'showitem' => '
+                        --palette--;;headers,
+                        pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
+                        --palette--;;menu_accessibility,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/285-tt_content-content_type-shortcut.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/285-tt_content-content_type-shortcut.php
new file mode 100644
index 000000000000..d645dd718779
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/285-tt_content-content_type-shortcut.php
@@ -0,0 +1,62 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'shortcut';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.shortcut',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.shortcut.description',
+        'value' => $contentType,
+        'icon' => 'content-special-shortcut',
+        'group' => 'special',
+    ]
+);
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
+    'tt_content',
+    [
+        'records' => [
+            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:records',
+            'config' => [
+                'type' => 'group',
+                'allowed' => 'tt_content',
+                'size' => 5,
+                'maxitems' => 200,
+            ],
+        ],
+    ]
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'mimetypes-x-content-link',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'showitem' => '
+                        header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.ALT.shortcut_formlabel,
+                        records;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:records_formlabel,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+                'columnsOverrides' => [
+                    'header' => [
+                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.description.ALT',
+                    ],
+                ],
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/290-tt_content-content_type-div.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/290-tt_content-content_type-div.php
new file mode 100644
index 000000000000..9bd15ec63e9f
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/290-tt_content-content_type-div.php
@@ -0,0 +1,49 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'div';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.div',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.div.description',
+        'value' => $contentType,
+        'icon' => 'content-special-div',
+        'group' => 'special',
+    ],
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'mimetypes-x-content-divider',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'creationOptions' => [
+                    'saveAndClose' => true,
+                ],
+                'showitem' => '
+                        header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.ALT.div_formlabel,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+                'columnsOverrides' => [
+                    'header' => [
+                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.description.ALT',
+                    ],
+                ],
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/Overrides/295-tt_content-content_type-html.php b/typo3/sysext/frontend/Configuration/TCA/Overrides/295-tt_content-content_type-html.php
new file mode 100644
index 000000000000..37ee76df2154
--- /dev/null
+++ b/typo3/sysext/frontend/Configuration/TCA/Overrides/295-tt_content-content_type-html.php
@@ -0,0 +1,47 @@
+<?php
+
+defined('TYPO3') or die();
+
+$contentType = 'html';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
+    'tt_content',
+    'CType',
+    [
+        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.html',
+        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.html.description',
+        'value' => $contentType,
+        'icon' => 'content-special-html',
+        'group' => 'special',
+    ],
+);
+
+$GLOBALS['TCA']['tt_content'] = array_replace_recursive(
+    $GLOBALS['TCA']['tt_content'],
+    [
+        'ctrl' => [
+            'typeicon_classes' => [
+                $contentType => 'mimetypes-x-content-html',
+            ],
+        ],
+        'types' => [
+            $contentType => [
+                'showitem' => '
+                        header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.ALT.html_formlabel,
+                        bodytext;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext.ALT.html_formlabel,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
+                        --palette--;;frames,
+                        --palette--;;appearanceLinks,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+                        categories,
+                    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+                ',
+                'columnsOverrides' => [
+                    'header' => [
+                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.description.ALT',
+                    ],
+                ],
+            ],
+        ],
+    ]
+);
diff --git a/typo3/sysext/frontend/Configuration/TCA/tt_content.php b/typo3/sysext/frontend/Configuration/TCA/tt_content.php
index 2a5c216e6177..d54256e53337 100644
--- a/typo3/sysext/frontend/Configuration/TCA/tt_content.php
+++ b/typo3/sysext/frontend/Configuration/TCA/tt_content.php
@@ -33,28 +33,8 @@ return [
         'typeicon_classes' => [
             'header' => 'mimetypes-x-content-header',
             'text' => 'mimetypes-x-content-text',
-            'textpic' => 'mimetypes-x-content-text-picture',
-            'image' => 'mimetypes-x-content-image',
-            'textmedia' => 'mimetypes-x-content-text-media',
-            'bullets' => 'mimetypes-x-content-list-bullets',
-            'table' => 'mimetypes-x-content-table',
-            'uploads' => 'mimetypes-x-content-list-files',
             'list' => 'mimetypes-x-content-plugin',
-            'shortcut' => 'mimetypes-x-content-link',
-            'div' => 'mimetypes-x-content-divider',
-            'html' => 'mimetypes-x-content-html',
             'default' => 'mimetypes-x-content-text',
-            'menu_abstract' => 'content-menu-abstract',
-            'menu_categorized_content' => 'content-menu-categorized',
-            'menu_categorized_pages' => 'content-menu-categorized',
-            'menu_pages' => 'content-menu-pages',
-            'menu_subpages' => 'content-menu-pages',
-            'menu_recently_updated' => 'content-menu-recently-updated',
-            'menu_related_pages' => 'content-menu-related',
-            'menu_sitemap' => 'content-menu-sitemap',
-            'menu_sitemap_pages' => 'content-menu-sitemap-pages',
-            'menu_section' => 'content-menu-section',
-            'menu_section_pages' => 'content-menu-section',
         ],
         'searchFields' => 'header,header_link,subheader,bodytext,pi_flexform',
         'security' => [
@@ -82,132 +62,6 @@ return [
                         'icon' => 'content-text',
                         'group' => 'default',
                     ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.textpic',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.textpic.description',
-                        'value' => 'textpic',
-                        'icon' => 'content-textpic',
-                        'group' => 'default',
-                    ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.image',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.image.description',
-                        'value' => 'image',
-                        'icon' => 'content-image',
-                        'group' => 'default',
-                    ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.textmedia',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.textmedia.description',
-                        'value' => 'textmedia',
-                        'icon' => 'content-textmedia',
-                        'group' => 'default',
-                    ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.bullets',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.bullets.description',
-                        'value' => 'bullets',
-                        'icon' => 'content-bullets',
-                        'group' => 'lists',
-                    ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.table',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.table.description',
-                        'value' => 'table',
-                        'icon' => 'content-table',
-                        'group' => 'lists',
-                    ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.uploads',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.uploads.description',
-                        'value' => 'uploads',
-                        'icon' => 'content-special-uploads',
-                        'group' => 'lists',
-                    ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_abstract',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_abstract.description',
-                        'value' => 'menu_abstract',
-                        'icon' => 'content-menu-abstract',
-                        'group' => 'menu',
-                    ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_categorized_content',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_categorized_content.description',
-                        'value' => 'menu_categorized_content',
-                        'icon' => 'content-menu-categorized',
-                        'group' => 'menu',
-                    ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_categorized_pages',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_categorized_pages.description',
-                        'value' => 'menu_categorized_pages',
-                        'icon' => 'content-menu-categorized',
-                        'group' => 'menu',
-                    ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_pages',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_pages.description',
-                        'value' => 'menu_pages',
-                        'icon' => 'content-menu-pages',
-                        'group' => 'menu',
-                    ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_subpages',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_subpages.description',
-                        'value' => 'menu_subpages',
-                        'icon' => 'content-menu-pages',
-                        'group' => 'menu',
-                    ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_recently_updated',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_recently_updated.description',
-                        'value' => 'menu_recently_updated',
-                        'icon' => 'content-menu-recently-updated',
-                        'group' => 'menu',
-                    ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_related_pages',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_related_pages.description',
-                        'value' => 'menu_related_pages',
-                        'icon' => 'content-menu-related',
-                        'group' => 'menu',
-                    ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_section',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_section.description',
-                        'value' => 'menu_section',
-                        'icon' => 'content-menu-section',
-                        'group' => 'menu',
-                    ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_section_pages',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_section_pages.description',
-                        'value' => 'menu_section_pages',
-                        'icon' => 'content-menu-section',
-                        'group' => 'menu',
-                    ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_sitemap',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_sitemap.description',
-                        'value' => 'menu_sitemap',
-                        'icon' => 'content-menu-sitemap',
-                        'group' => 'menu',
-                    ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_sitemap_pages',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.menu_sitemap_pages.description',
-                        'value' => 'menu_sitemap_pages',
-                        'icon' => 'content-menu-sitemap-pages',
-                        'group' => 'menu',
-                    ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.shortcut',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.shortcut.description',
-                        'value' => 'shortcut',
-                        'icon' => 'content-special-shortcut',
-                        'group' => 'special',
-                    ],
                     [
                         'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.list',
                         'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.list.description',
@@ -215,20 +69,6 @@ return [
                         'icon' => 'content-plugin',
                         'group' => 'plugins',
                     ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.div',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.div.description',
-                        'value' => 'div',
-                        'icon' => 'content-special-div',
-                        'group' => 'special',
-                    ],
-                    [
-                        'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.html',
-                        'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:CType.html.description',
-                        'value' => 'html',
-                        'icon' => 'content-special-html',
-                        'group' => 'special',
-                    ],
                 ],
                 'itemGroups' => [
                     'default' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:group.default',
@@ -329,20 +169,6 @@ return [
                 'dbFieldLength' => 60,
             ],
         ],
-        'bullets_type' => [
-            'exclude' => true,
-            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bullets_type',
-            'config' => [
-                'type' => 'select',
-                'renderType' => 'selectSingle',
-                'items' => [
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bullets_type.0', 'value' => 0],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bullets_type.1', 'value' => 1],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bullets_type.2', 'value' => 2],
-                ],
-                'default' => 0,
-            ],
-        ],
         'colPos' => [
             'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:colPos',
             'config' => [
@@ -536,6 +362,7 @@ return [
                 ],
             ],
         ],
+        // @todo While "assets" is used only by CType:textmedia, we keep it here as it's a common field for reuse in custom CTypes
         'assets' => [
             'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:asset_references',
             'config' => [
@@ -708,26 +535,6 @@ return [
                 'default' => 2,
             ],
         ],
-        'cols' => [
-            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:cols',
-            'config' => [
-                'type' => 'select',
-                'renderType' => 'selectSingle',
-                'items' => [
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:cols.I.0', 'value' => '0'],
-                    ['label' => '1', 'value' => '1'],
-                    ['label' => '2', 'value' => '2'],
-                    ['label' => '3', 'value' => '3'],
-                    ['label' => '4', 'value' => '4'],
-                    ['label' => '5', 'value' => '5'],
-                    ['label' => '6', 'value' => '6'],
-                    ['label' => '7', 'value' => '7'],
-                    ['label' => '8', 'value' => '8'],
-                    ['label' => '9', 'value' => '9'],
-                ],
-                'default' => 0,
-            ],
-        ],
         'pages' => [
             'exclude' => true,
             'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.startingpoint',
@@ -790,26 +597,7 @@ return [
                 'dbFieldLength' => 255,
             ],
         ],
-        'file_collections' => [
-            'exclude' => true,
-            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:file_collections',
-            'config' => [
-                'type' => 'group',
-                'localizeReferencesAtParentLocalization' => true,
-                'allowed' => 'sys_file_collection',
-                'foreign_table' => 'sys_file_collection',
-                'size' => 5,
-                'fieldControl' => [
-                    'addRecord' => [
-                        'disabled' => false,
-                        'options' => [
-                            'title' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:file_mountpoints_add_title',
-                            'setValue' => 'prepend',
-                        ],
-                    ],
-                ],
-            ],
-        ],
+        // @todo While "media" is used only by CType:uploads, we keep it here as it's a common field for reuse in custom CTypes
         'media' => [
             'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:media',
             'config' => [
@@ -820,62 +608,6 @@ return [
                 ],
             ],
         ],
-        'filelink_size' => [
-            'exclude' => true,
-            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_size',
-            'config' => [
-                'type' => 'check',
-                'renderType' => 'checkboxToggle',
-            ],
-        ],
-        'filelink_sorting' => [
-            'exclude' => true,
-            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting',
-            'config' => [
-                'type' => 'select',
-                'renderType' => 'selectSingle',
-                'items' => [
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting.none', 'value' => ''],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting.extension', 'value' => 'extension'],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting.name', 'value' => 'name'],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting.type', 'value' => 'type'],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting.size', 'value' => 'size'],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting.creation_date', 'value' => 'creation_date'],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting.modification_date', 'value' => 'modification_date'],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting.title', 'value' => 'title'],
-                ],
-                'dbFieldLength' => 64,
-            ],
-        ],
-        'filelink_sorting_direction' => [
-            'exclude' => true,
-            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting_direction',
-            'config' => [
-                'type' => 'select',
-                'renderType' => 'selectSingle',
-                'items' => [
-                    ['label' => '', 'value' => ''],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting_direction.ascending', 'value' => 'asc'],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_sorting_direction.descending', 'value' => 'desc'],
-                ],
-                'dbFieldLength' => 4,
-            ],
-        ],
-        'target' => [
-            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:target',
-            'config' => [
-                'type' => 'input',
-                'max' => 30,
-                'size' => 20,
-                'eval' => 'trim',
-                'valuePicker' => [
-                    'items' => [
-                        [ 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:target.I.1', '_blank' ],
-                    ],
-                ],
-                'default' => '',
-            ],
-        ],
         'records' => [
             'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:records',
             'config' => [
@@ -978,148 +710,13 @@ return [
                 'dbFieldLength' => 64,
             ],
         ],
-        'table_class' => [
-            'exclude' => true,
-            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_class',
-            'config' => [
-                'type' => 'select',
-                'renderType' => 'selectSingle',
-                'items' => [
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_class.default', 'value' => ''],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_class.striped', 'value' => 'striped'],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_class.bordered', 'value' => 'bordered'],
-                ],
-                'default' => '',
-                'dbFieldLength' => 60,
-            ],
-        ],
-        'table_caption' => [
-            'exclude' => true,
-            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_caption',
-            'config' => [
-                'type' => 'input',
-            ],
-        ],
-        'table_delimiter' => [
-            'exclude' => true,
-            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_delimiter',
-            'config' => [
-                'type' => 'select',
-                'renderType' => 'selectSingle',
-                'items' => [
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_delimiter.124', 'value' => 124],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_delimiter.59', 'value' => 59],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_delimiter.44', 'value' => 44],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_delimiter.58', 'value' => 58],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_delimiter.9', 'value' => 9],
-                ],
-                'default' => 124,
-            ],
-        ],
-        'table_enclosure' => [
-            'exclude' => true,
-            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_enclosure',
-            'config' => [
-                'type' => 'select',
-                'renderType' => 'selectSingle',
-                'items' => [
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_enclosure.0', 'value' => 0],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_enclosure.39', 'value' => 39],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_enclosure.34', 'value' => 34],
-                ],
-                'default' => 0,
-            ],
-        ],
-        'table_header_position' => [
-            'exclude' => true,
-            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_header_position',
-            'config' => [
-                'type' => 'select',
-                'renderType' => 'selectSingle',
-                'items' => [
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_header_position.0', 'value' => 0],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_header_position.1', 'value' => 1],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_header_position.2', 'value' => 2],
-                ],
-                'default' => 0,
-            ],
-        ],
-        'table_tfoot' => [
-            'exclude' => true,
-            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:table_tfoot',
-            'config' => [
-                'type' => 'check',
-                'renderType' => 'checkboxToggle',
-                'default' => 0,
-            ],
-        ],
-        'uploads_description' => [
-            'exclude' => true,
-            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:uploads_description',
-            'config' => [
-                'type' => 'check',
-                'renderType' => 'checkboxToggle',
-                'default' => 0,
-            ],
-        ],
-        'uploads_type' => [
-            'exclude' => true,
-            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:uploads_type',
-            'config' => [
-                'type' => 'select',
-                'renderType' => 'selectSingle',
-                'items' => [
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:uploads_type.0', 'value' => 0],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:uploads_type.1', 'value' => 1],
-                    ['label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:uploads_type.2', 'value' => 2],
-                ],
-                'default' => 0,
-            ],
-        ],
     ],
     'types' => [
+        // @todo we should get rid of this FormEngine dependency - see DatabaseRecordTypeValue
         '1' => [
             'showitem' => '',
         ],
-        'bullets' => [
-            'showitem' => '
-                    --palette--;;headers,
-                    bullets_type,
-                    bodytext;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext.ALT.bulletlist_formlabel,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-            'columnsOverrides' => [
-                'bodytext' => [
-                    'config' => [
-                        'wrap' => 'off',
-                    ],
-                ],
-            ],
-        ],
-        'div' => [
-            'creationOptions' => [
-                'saveAndClose' => true,
-            ],
-            'showitem' => '
-                    header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.ALT.div_formlabel,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-            'columnsOverrides' => [
-                'header' => [
-                    'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.description.ALT',
-                ],
-            ],
-        ],
+        // @todo header has to be kept, due to ExtensionManagementUtility::addPlugin()
         'header' => [
             'showitem' => '
                     --palette--;;headers,
@@ -1131,6 +728,7 @@ return [
                 --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
             ',
         ],
+        // @todo text has to be kept, due to its use as "default" CType
         'text' => [
             'showitem' => '
                     --palette--;;headers,
@@ -1150,87 +748,7 @@ return [
                 ],
             ],
         ],
-        'textpic' => [
-            'showitem' => '
-                    --palette--;;headers,
-                    bodytext;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext_formlabel,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:images,
-                    image,
-                    --palette--;;mediaAdjustments,
-                    --palette--;;gallerySettings,
-                    --palette--;;imagelinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-            'columnsOverrides' => [
-                'bodytext' => [
-                    'config' => [
-                        'enableRichtext' => true,
-                    ],
-                ],
-            ],
-        ],
-        'textmedia' => [
-            'showitem' => '
-                    --palette--;;headers,
-                    bodytext;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext_formlabel,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:media,
-                    assets,
-                    --palette--;;mediaAdjustments,
-                    --palette--;;gallerySettings,
-                    --palette--;;imagelinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-            'columnsOverrides' => [
-                'bodytext' => [
-                    'config' => [
-                        'enableRichtext' => true,
-                    ],
-                ],
-            ],
-        ],
-        'image' => [
-            'showitem' => '
-                    --palette--;;headers,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:images,
-                    image,
-                    --palette--;;mediaAdjustments,
-                    --palette--;;gallerySettings,
-                    --palette--;;imagelinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-        ],
-        'html' => [
-            'showitem' => '
-                    header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.ALT.html_formlabel,
-                    bodytext;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext.ALT.html_formlabel,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-            'columnsOverrides' => [
-                'header' => [
-                    'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.description.ALT',
-                ],
-            ],
-        ],
+        // @todo list has to be kept, due to general plugin management
         'list' => [
             'showitem' => '
                     --palette--;;headers,
@@ -1247,243 +765,8 @@ return [
             ',
             'subtype_value_field' => 'list_type',
         ],
-        'menu_categorized_pages' => [
-            'showitem' => '
-                    --palette--;;headers,
-                    selected_categories,
-                    category_field,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
-                    --palette--;;menu_accessibility,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-            'columnsOverrides' => [
-                'selected_categories' => [
-                    'config' => [
-                        'minitems' => 1,
-                    ],
-                ],
-                'category_field' => [
-                    'config' => [
-                        'itemsProcConfig' => [
-                            'table' => 'pages',
-                        ],
-                    ],
-                ],
-            ],
-        ],
-        'menu_categorized_content' => [
-            'showitem' => '
-                    --palette--;;headers,
-                    selected_categories,
-                    category_field,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
-                    --palette--;;menu_accessibility,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-            'columnsOverrides' => [
-                'selected_categories' => [
-                    'config' => [
-                        'minitems' => 1,
-                    ],
-                ],
-                'category_field' => [
-                    'config' => [
-                        'itemsProcConfig' => [
-                            'table' => 'tt_content',
-                        ],
-                    ],
-                ],
-            ],
-        ],
-        'menu_pages' => [
-            'showitem' => '
-                    --palette--;;headers,
-                    pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
-                    --palette--;;menu_accessibility,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-        ],
-        'menu_subpages' => [
-            'showitem' => '
-                    --palette--;;headers,
-                    pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
-                    --palette--;;menu_accessibility,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-        ],
-        'menu_sitemap' => [
-            'showitem' => '
-                    --palette--;;headers,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
-                    --palette--;;menu_accessibility,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-        ],
-        'menu_section' => [
-            'showitem' => '
-                    --palette--;;headers,
-                    pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
-                    --palette--;;menu_accessibility,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-        ],
-        'menu_abstract' => [
-            'showitem' => '
-                    --palette--;;headers,
-                    pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
-                    --palette--;;menu_accessibility,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-        ],
-        'menu_recently_updated' => [
-            'showitem' => '
-                    --palette--;;headers,
-                    pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
-                    --palette--;;menu_accessibility,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-        ],
-        'menu_related_pages' => [
-            'showitem' => '
-                    --palette--;;headers,
-                    pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
-                    --palette--;;menu_accessibility,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-        ],
-        'menu_section_pages' => [
-            'showitem' => '
-                    --palette--;;headers,
-                    pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
-                    --palette--;;menu_accessibility,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-        ],
-        'menu_sitemap_pages' => [
-            'showitem' => '
-                    --palette--;;headers,
-                    pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.menu_formlabel,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:accessibility,
-                    --palette--;;menu_accessibility,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-        ],
-        'shortcut' => [
-            'showitem' => '
-                    header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.ALT.shortcut_formlabel,
-                    records;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:records_formlabel,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-            'columnsOverrides' => [
-                'header' => [
-                    'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header.description.ALT',
-                ],
-            ],
-        ],
-        'table' => [
-            'showitem' => '
-                    --palette--;;headers,
-                    bodytext;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:field.table.bodytext,
-                    --palette--;;tableconfiguration,
-                    table_caption,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;tablelayout,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-            'columnsOverrides' => [
-                'bodytext' => [
-                    'config' => [
-                        'renderType' => 'textTable',
-                        'wrap' => 'off',
-                    ],
-                ],
-            ],
-        ],
-        'uploads' => [
-            'showitem' => '
-                    --palette--;;headers,
-                    --palette--;;uploads,
-                    --palette--;;uploadslayout,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:appearance,
-                    --palette--;;frames,
-                    --palette--;;appearanceLinks,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
-                    categories,
-                --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
-            ',
-        ],
     ],
+
     'palettes' => [
         'general' => [
             'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general',
@@ -1539,18 +822,6 @@ return [
                 image_zoom;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:image_zoom_formlabel
             ',
         ],
-        'uploads' => [
-            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:media',
-            'showitem' => '
-                media;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:media.ALT.uploads_formlabel,
-                --linebreak--,
-                file_collections;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:file_collections.ALT.uploads_formlabel,
-                --linebreak--,
-                filelink_sorting,
-                filelink_sorting_direction,
-                target
-            ',
-        ],
         'menu_accessibility' => [
             'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.menu_accessibility',
             'showitem' => '
@@ -1580,14 +851,6 @@ return [
                 --linebreak--,editlock
             ',
         ],
-        'uploadslayout' => [
-            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.uploads_layout',
-            'showitem' => '
-                filelink_size;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:filelink_size_formlabel,
-                uploads_description,
-                uploads_type
-            ',
-        ],
         'appearanceLinks' => [
             'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks',
             'showitem' => '
@@ -1604,20 +867,5 @@ return [
                 space_after_class;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:space_after_class_formlabel,
             ',
         ],
-        'tableconfiguration' => [
-            'showitem' => '
-                table_delimiter,
-                table_enclosure
-            ',
-        ],
-        'tablelayout' => [
-            'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.table_layout',
-            'showitem' => '
-                cols,
-                table_class,
-                table_header_position,
-                table_tfoot
-            ',
-        ],
     ],
 ];
-- 
GitLab