Automated migrations from rector.php and fractor.php (TCA, Extbase controllers and annotations, ViewHelpers, QueryBuilder, FlexForms, TypoScript conditions). Plugins stay list_type plugins: Rector switched them to content element types, which needs a tt_content migration. That is deferred to the TYPO3 14 step, where list_type is removed. Co-Authored-By: Claude Opus 5.5 <[email protected]>
158 lines
4.8 KiB
PHP
158 lines
4.8 KiB
PHP
<?php
|
|
|
|
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
|
|
|
|
defined('TYPO3') or die();
|
|
|
|
call_user_func(function() {
|
|
|
|
$temporaryColumns = [
|
|
'tx_eptheme_context_pacode' => [
|
|
'exclude' => 0,
|
|
'label' => 'PA Code für diese Seite',
|
|
'config' => [
|
|
'type' => 'input',
|
|
'size' => 8,
|
|
'eval' => 'trim',
|
|
],
|
|
],
|
|
'tx_eptheme_context_country_code' => [
|
|
'config' => [
|
|
'type' => 'passthrough'
|
|
],
|
|
],
|
|
'tx_eptheme_context_country' => [
|
|
'exclude' => 0,
|
|
'label' => 'Land',
|
|
'config' => [
|
|
'type' => 'select',
|
|
'default' => 0,
|
|
'renderType' => 'selectSingle',
|
|
'foreign_table' => 'tx_epproducts_domain_model_country',
|
|
'foreign_table_where' => 'ORDER BY name',
|
|
'items' => [
|
|
['label' => 'Keine Zuordnung', 'value' => 0],
|
|
],
|
|
'minitems' => 0,
|
|
'maxitems' => 1,
|
|
]
|
|
],
|
|
'tx_eptheme_context_region' => [
|
|
'exclude' => 0,
|
|
'label' => 'Gebiet',
|
|
'config' => [
|
|
'type' => 'select',
|
|
'default' => 0,
|
|
'renderType' => 'selectSingle',
|
|
'foreign_table' => 'tx_epproducts_domain_model_region',
|
|
'foreign_table_where' => 'ORDER BY name',
|
|
'items' => [
|
|
['label' => 'Keine Zuordnung', 'value' => 0],
|
|
],
|
|
'minitems' => 0,
|
|
'maxitems' => 1,
|
|
]
|
|
],
|
|
'tx_eptheme_hide_searchbar' => [
|
|
'exclude' => 0,
|
|
'label' => 'Suchschlitz NICHT anzeigen',
|
|
'config' => [
|
|
'type' => 'check'
|
|
]
|
|
],
|
|
'tx_eptheme_new_tab' => [
|
|
'exclude' => 0,
|
|
'label' => 'Seite in neuem Tab/Fenster öffnen',
|
|
'config' => [
|
|
'type' => 'check'
|
|
]
|
|
],
|
|
'tx_eptheme_bodyclass' => [
|
|
'exclude' => 0,
|
|
'label' => 'CSS Klasse(n) für Body Tag',
|
|
'config' => [
|
|
'type' => 'input',
|
|
'size' => 30,
|
|
'eval' => 'trim'
|
|
]
|
|
],
|
|
'tx_eptheme_navitemclass' => [
|
|
'exclude' => 0,
|
|
'label' => 'CSS Klasse(n) für Topnavigation',
|
|
'config' => [
|
|
'type' => 'input',
|
|
'size' => 30,
|
|
'eval' => 'trim'
|
|
]
|
|
],
|
|
'tx_eptheme_slides' => [
|
|
'exclude' => 0,
|
|
'label' => 'Slides',
|
|
'displayCond' => 'FIELD:backend_layout:!IN:pagets__detail,pagets__booking',
|
|
'config' => [
|
|
'type' => 'inline',
|
|
'foreign_table' => 'tx_eptheme_domain_model_slide',
|
|
'foreign_field' => 'page',
|
|
'foreign_sortby' => 'sorting',
|
|
'maxitems' => 5,
|
|
'appearance' => [
|
|
'useSortable' => 1,
|
|
'collapseAll' => 1,
|
|
'levelLinksPosition' => 'top',
|
|
'showSynchronizationLink' => 0,
|
|
'showPossibleLocalizationRecords' => 0,
|
|
'showAllLocalizationLink' => 0
|
|
],
|
|
],
|
|
],
|
|
'tx_eptheme_badge' => [
|
|
'exclude' => 0,
|
|
'label' => 'Badge',
|
|
'config' => [
|
|
'type' => 'select',
|
|
'default' => 0,
|
|
'renderType' => 'selectSingle',
|
|
'foreign_table' => 'tx_epproducts_domain_model_badge',
|
|
'foreign_table_where' => 'ORDER BY title',
|
|
'items' => [
|
|
['label' => 'Keine Zuordnung', 'value' => 0],
|
|
],
|
|
'minitems' => 0,
|
|
'maxitems' => 1,
|
|
],
|
|
],
|
|
];
|
|
|
|
ExtensionManagementUtility::addTCAcolumns(
|
|
'pages',
|
|
$temporaryColumns
|
|
);
|
|
|
|
ExtensionManagementUtility::addToAllTCAtypes(
|
|
'pages',
|
|
'--div--;Kontext,
|
|
tx_eptheme_context_pacode,tx_eptheme_context_country,tx_eptheme_context_region,
|
|
tx_eptheme_hide_searchbar,tx_eptheme_new_tab,tx_eptheme_bodyclass,tx_eptheme_navitemclass,
|
|
--div--;Slider,
|
|
tx_eptheme_slides,
|
|
--div--;Badge,
|
|
tx_eptheme_badge',
|
|
'1,4'
|
|
);
|
|
|
|
ExtensionManagementUtility::registerPageTSConfigFile(
|
|
'ep_theme',
|
|
'Configuration/TSconfig/Page/Main.tsconfig',
|
|
'EP Theme'
|
|
);
|
|
|
|
$GLOBALS['TCA']['pages']['columns']['slug']['config']['generatorOptions']['fields'] = [
|
|
[
|
|
'nav_title',
|
|
'title'
|
|
]
|
|
];
|
|
|
|
});
|
|
|