Created
July 21, 2025 07:20
-
-
Save wowaTYPO3/3ab53a4b2279cb1a64d4d304e448ad7d to your computer and use it in GitHub Desktop.
TCA/Overrides/tt_content.php
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| defined('TYPO3') or die(); | |
| // https://docs.typo3.org/m/typo3/reference-tca/main/en-us/Index.html | |
| // Adds additional fields to tt_content | |
| \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', [ | |
| 'seasonalcontentcontrol' => [ | |
| 'exclude' => true, | |
| 'label' => 'LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.seasonalcontentcontrol', | |
| 'config' => [ | |
| 'type' => 'select', | |
| 'renderType' => 'selectSingle', | |
| 'items' => [ | |
| ['LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.seasonalcontentcontrol.always', 'always'], | |
| ['LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.seasonalcontentcontrol.summer', 'summer'], | |
| ['LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.seasonalcontentcontrol.winter', 'winter'], | |
| ], | |
| 'default' => 'always', | |
| ], | |
| ], | |
| ]); | |
| // Adds background color selection field to tt_content | |
| \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', [ | |
| 'background_color' => [ | |
| 'exclude' => true, | |
| 'displayCond' => 'FIELD:frame_class:!=:none', | |
| 'label' => 'LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.background_color', | |
| 'config' => [ | |
| 'type' => 'select', | |
| 'renderType' => 'selectSingle', | |
| 'items' => [ | |
| ['LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.background_color.none', 'none'], | |
| ['LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.background_color.primay', 'primary'], | |
| ['LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.background_color.secondary', 'secondary'], | |
| ['LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.background_color.tertiary', 'tertiary'], | |
| ['LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.background_color.quaternary', 'quaternary'], | |
| ['LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.background_color.dark', 'dark'], | |
| ['LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.background_color.light', 'light'], | |
| ], | |
| 'default' => 'none', | |
| ], | |
| ], | |
| ]); | |
| // Adds image field to tt_content | |
| \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', [ | |
| 'background_image' => [ | |
| 'exclude' => true, | |
| 'displayCond' => 'FIELD:frame_class:!=:none', | |
| 'label' => 'LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.background_image', | |
| 'config' => [ | |
| 'type' => 'file', | |
| 'maxitems' => 1, | |
| 'allowed' => 'common-image-types' | |
| ], | |
| 'l10n_mode' => 'exclude', | |
| ], | |
| ]); | |
| \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', [ | |
| 'parallax' => [ | |
| 'exclude' => true, | |
| 'displayCond' => 'FIELD:frame_class:!=:none', | |
| 'label' => 'LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.parallax', | |
| 'config' => [ | |
| 'type' => 'check', | |
| 'renderType' => 'checkboxToggle', | |
| 'items' => [ | |
| [ | |
| 0 => '', | |
| 1 => '', | |
| ] | |
| ], | |
| 'default' => 0, | |
| ], | |
| ], | |
| ]); | |
| \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', [ | |
| 'typewriter' => [ | |
| 'exclude' => true, | |
| 'label' => 'LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.typewriter', | |
| 'config' => [ | |
| 'type' => 'check', | |
| 'renderType' => 'checkboxToggle', | |
| 'items' => [ | |
| [ | |
| 0 => '', | |
| 1 => '', | |
| ] | |
| ], | |
| 'default' => 0, | |
| ], | |
| ], | |
| ]); | |
| TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', [ | |
| 'section_title' => [ | |
| 'exclude' => true, | |
| 'label' => 'Section title', | |
| 'config' => [ | |
| 'type' => 'check', | |
| 'renderType' => 'checkboxToggle', | |
| 'items' => [ | |
| [ | |
| 0 => '', | |
| 1 => '', | |
| ] | |
| ], | |
| 'default' => 0, | |
| ], | |
| ], | |
| ]); | |
| // Adds the field to the existing palette | |
| $GLOBALS['TCA']['tt_content']['palettes']['headers']['showitem'] .= ', --linebreak--, section_title, --linebreak--, typewriter'; | |
| \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', [ | |
| 'display_control' => [ | |
| 'exclude' => true, | |
| 'label' => 'LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.display_control', | |
| 'config' => [ | |
| 'type' => 'select', | |
| 'renderType' => 'selectSingle', | |
| 'items' => [ | |
| ['LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.display_control.all', 'all'], | |
| ['LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.display_control.mobile', 'mobile'], | |
| ['LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.display_control.desktop', 'desktop'], | |
| ], | |
| 'default' => 'all', | |
| ], | |
| ], | |
| ]); | |
| // Adds the fields to the existing palette | |
| $GLOBALS['TCA']['tt_content']['palettes']['frames']['showitem'] .= ', --linebreak--, seasonalcontentcontrol, display_control, --linebreak--, background_color, --linebreak--, background_image, --linebreak--, parallax'; | |
| \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', [ | |
| 'headersize' => [ | |
| 'exclude' => true, | |
| 'label' => 'Header size', | |
| 'config' => [ | |
| 'type' => 'select', | |
| 'renderType' => 'selectSingle', | |
| 'items' => [ | |
| ['Default', 'default'], | |
| ['L', 'l'], | |
| ['XL', 'xl'], | |
| ['XXL', 'xxl'], | |
| ['XXXL', 'xxxl'], | |
| ['XXXXL', 'xxxxl'], | |
| ], | |
| 'default' => 'default', | |
| ], | |
| ], | |
| ]); | |
| \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette( | |
| 'tt_content', | |
| 'headers', | |
| 'headersize', | |
| 'after:header_layout' | |
| ); | |
| $aosColumns = [ | |
| 'aos_fade_animation' => [ | |
| 'exclude' => 1, | |
| 'label' => 'Fade Animation', | |
| 'config' => [ | |
| 'type' => 'select', | |
| 'renderType' => 'selectSingle', | |
| 'default' => 'fade-up', | |
| 'items' => [ | |
| [ | |
| 'label' => 'None', | |
| 'value' => '0', | |
| ], | |
| [ | |
| 'label' => 'Fade animations', | |
| 'value' => '--div--', | |
| ], | |
| [ | |
| 'label' => 'fade', | |
| 'value' => 'fade', | |
| ], | |
| [ | |
| 'label' => 'fade-up', | |
| 'value' => 'fade-up', | |
| ], | |
| [ | |
| 'label' => 'fade-down', | |
| 'value' => 'fade-down', | |
| ], | |
| [ | |
| 'label' => 'fade-left', | |
| 'value' => 'fade-left', | |
| ], | |
| [ | |
| 'label' => 'fade-right', | |
| 'value' => 'fade-right', | |
| ], | |
| [ | |
| 'label' => 'fade-up-right', | |
| 'value' => 'fade-up-right', | |
| ], | |
| [ | |
| 'label' => 'fade-up-left', | |
| 'value' => 'fade-up-left', | |
| ], | |
| [ | |
| 'label' => 'fade-down-right', | |
| 'value' => 'fade-down-right', | |
| ], | |
| [ | |
| 'label' => 'fade-down-left', | |
| 'value' => 'fade-down-left', | |
| ], | |
| [ | |
| 'label' => 'Flip animations', | |
| 'value' => '--div--', | |
| ], | |
| [ | |
| 'label' => 'flip-up', | |
| 'value' => 'flip-up', | |
| ], | |
| [ | |
| 'label' => 'flip-down', | |
| 'value' => 'flip-down', | |
| ], | |
| [ | |
| 'label' => 'flip-left', | |
| 'value' => 'flip-left', | |
| ], | |
| [ | |
| 'label' => 'flip-right', | |
| 'value' => 'flip-right', | |
| ], | |
| [ | |
| 'label' => 'Slide animations', | |
| 'value' => '--div--', | |
| ], | |
| [ | |
| 'label' => 'slide-up', | |
| 'value' => 'slide-up', | |
| ], | |
| [ | |
| 'label' => 'slide-down', | |
| 'value' => 'slide-down', | |
| ], | |
| [ | |
| 'label' => 'slide-left', | |
| 'value' => 'slide-left', | |
| ], | |
| [ | |
| 'label' => 'slide-right', | |
| 'value' => 'slide-right', | |
| ], | |
| [ | |
| 'label' => 'Zoom animations', | |
| 'value' => '--div--', | |
| ], | |
| [ | |
| 'label' => 'zoom-in', | |
| 'value' => 'zoom-in', | |
| ], | |
| [ | |
| 'label' => 'zoom-in-up', | |
| 'value' => 'zoom-in-up', | |
| ], | |
| [ | |
| 'label' => 'zoom-in-down', | |
| 'value' => 'zoom-in-down', | |
| ], | |
| [ | |
| 'label' => 'zoom-in-left', | |
| 'value' => 'zoom-in-left', | |
| ], | |
| [ | |
| 'label' => 'zoom-in-right', | |
| 'value' => 'zoom-in-right', | |
| ], | |
| [ | |
| 'label' => 'zoom-out', | |
| 'value' => 'zoom-out', | |
| ], | |
| [ | |
| 'label' => 'zoom-out-up', | |
| 'value' => 'zoom-out-up', | |
| ], | |
| [ | |
| 'label' => 'zoom-out-down', | |
| 'value' => 'zoom-out-down', | |
| ], | |
| [ | |
| 'label' => 'zoom-out-left', | |
| 'value' => 'zoom-out-left', | |
| ], | |
| [ | |
| 'label' => 'zoom-out-right', | |
| 'value' => 'zoom-out-right', | |
| ], | |
| ], | |
| ], | |
| ], | |
| 'aos_offset' => [ | |
| 'exclude' => 1, | |
| 'label' => 'Offset', | |
| 'description' => 'offset (in px) from the original trigger point', | |
| 'config' => [ | |
| 'type' => 'number', | |
| 'default' => '200', | |
| 'format' => 'integer', | |
| ], | |
| ], | |
| 'aos_delay' => [ | |
| 'exclude' => 1, | |
| 'label' => 'Delay', | |
| 'description' => 'values from 0 to 3000, with step 50ms', | |
| 'config' => [ | |
| 'type' => 'number', | |
| 'default' => '0', | |
| 'format' => 'integer', | |
| 'range' => [ | |
| 'lower' => 0, | |
| 'upper' => 3000 | |
| ], | |
| ], | |
| ], | |
| 'aos_duration' => [ | |
| 'exclude' => 1, | |
| 'label' => 'Duration', | |
| 'description' => 'values from 0 to 3000, with step 50ms', | |
| 'config' => [ | |
| 'type' => 'number', | |
| 'default' => '400', | |
| 'format' => 'integer', | |
| 'range' => [ | |
| 'lower' => 0, | |
| 'upper' => 3000 | |
| ], | |
| ], | |
| ], | |
| ]; | |
| \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', $aosColumns); | |
| // Neuen Reiter und Feld zur Anzeige hinzufügen | |
| \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes( | |
| 'tt_content', | |
| '--div--;AOS Settings, aos_fade_animation, --linebreak--, aos_offset, --linebreak--, aos_delay, --linebreak--, aos_duration', | |
| '', | |
| 'after:description' | |
| ); | |
| call_user_func(function () { | |
| // Neue Felder definieren | |
| $newColumns = [ | |
| 'show_more' => [ | |
| 'exclude' => 1, | |
| 'label' => 'LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.show_more', | |
| 'onChange' => 'reload', | |
| 'config' => [ | |
| 'type' => 'check', | |
| 'default' => 0, | |
| ], | |
| ], | |
| 'show_more_text' => [ | |
| 'exclude' => 1, | |
| 'label' => 'LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.show_more_text', | |
| 'config' => [ | |
| 'type' => 'input', | |
| 'size' => 20, | |
| 'eval' => 'trim', | |
| 'default' => 'Show more', | |
| ], | |
| 'displayCond' => 'FIELD:show_more:=:1', | |
| ], | |
| 'show_less_text' => [ | |
| 'exclude' => 1, | |
| 'label' => 'LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.show_less_text', | |
| 'config' => [ | |
| 'type' => 'input', | |
| 'size' => 20, | |
| 'eval' => 'trim', | |
| 'default' => 'Show less', | |
| ], | |
| 'displayCond' => 'FIELD:show_more:=:1', | |
| ], | |
| 'show_height' => [ | |
| 'exclude' => 1, | |
| 'label' => 'LLL:EXT:cawdbase/Resources/Private/Language/locallang_db.xlf:tt_content.show_height', | |
| 'config' => [ | |
| 'type' => 'input', | |
| 'size' => 4, | |
| 'eval' => 'int', | |
| 'default' => 300, | |
| ], | |
| 'displayCond' => 'FIELD:show_more:=:1', | |
| ], | |
| ]; | |
| \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', $newColumns); | |
| // Felder dem Text-Element hinzufügen – direkt nach dem bodytext Feld | |
| \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes( | |
| 'tt_content', | |
| 'show_more, show_more_text, show_less_text, show_height', | |
| 'text', | |
| 'after:bodytext' | |
| ); | |
| }); | |
| \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItemGroup( | |
| 'tt_content', // table | |
| 'CType', // typeField | |
| 'cta_marketing', // group | |
| 'CTA & Marketing', // label | |
| 'after:container', // position | |
| ); | |
| \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItemGroup( | |
| 'tt_content', // table | |
| 'CType', // typeField | |
| 'infos_contact', // group | |
| 'Infos & Contact', // label | |
| 'before:lists', // position | |
| ); | |
| TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItemGroup( | |
| 'tt_content', // table | |
| 'CType', // typeField | |
| 'design', // group | |
| 'Design & Layout', // label | |
| 'after:cta_marketing', // position | |
| ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment