Skip to content
Snippets Groups Projects
Commit 0647e01e authored by Kevin Ditscheid's avatar Kevin Ditscheid
Browse files

[TASK] Use strings instead of variables for TCA configuration

parent 75c3db29
No related branches found
No related tags found
No related merge requests found
......@@ -24,404 +24,394 @@
* This copyright notice MUST APPEAR in all copies of the script!
*/
call_user_func(
function ($extKey, $table) {
$localLangDbPath = 'LLL:EXT:' . $extKey . '/Resources/Private/Language/locallang_db.xlf:';
$localLangBackendPath = 'LLL:EXT:' . $extKey . '/Resources/Private/Language/locallang_backend.xlf:';
foreach (
[
\SGalinski\SgNews\Utility\BackendNewsUtility::CATEGORY_DOKTYPE => [
'icon' => 'EXT:sg_news/Resources/Public/Images/Category.png',
'locallangIndex' => 'pageType.category'
],
\SGalinski\SgNews\Utility\BackendNewsUtility::NEWS_DOKTYPE => [
'icon' => 'EXT:sg_news/Resources/Public/Images/News.png',
'locallangIndex' => 'pageType.news'
]
] as $doktype => $configuration) {
// add the new doktype to the page type selector
$GLOBALS['TCA'][$table]['columns']['doktype']['config']['items'][] = [
$localLangBackendPath . $configuration['locallangIndex'],
$doktype,
$configuration['icon']
];
$localLangDbPath = 'LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:';
$localLangBackendPath = 'LLL:EXT:sg_news/Resources/Private/Language/locallang_backend.xlf:';
foreach (
[
\SGalinski\SgNews\Utility\BackendNewsUtility::CATEGORY_DOKTYPE => [
'icon' => 'EXT:sg_news/Resources/Public/Images/Category.png',
'locallangIndex' => 'pageType.category'
],
\SGalinski\SgNews\Utility\BackendNewsUtility::NEWS_DOKTYPE => [
'icon' => 'EXT:sg_news/Resources/Public/Images/News.png',
'locallangIndex' => 'pageType.news'
]
] as $doktype => $configuration) {
// also add the new doktype to the page language overlays type selector (so that translations can inherit the same type)
$GLOBALS['TCA']['' . $table . '_language_overlay']['columns']['doktype']['config']['items'][] = [
$localLangBackendPath . $configuration['locallangIndex'],
$doktype,
$configuration['icon']
];
// add the new doktype to the page type selector
$GLOBALS['TCA']['pages']['columns']['doktype']['config']['items'][] = [
$localLangBackendPath . $configuration['locallangIndex'],
$doktype,
$configuration['icon']
];
$GLOBALS['TCA'][$table]['ctrl']['typeicon_classes'][$doktype] = 'tcarecords-' . $table . '-' . $doktype;
$GLOBALS['TCA']['pages']['ctrl']['typeicon_classes'][$doktype] = 'tcarecords-pages-' . $doktype;
// add the new doktype to the list of page types
$GLOBALS['PAGES_TYPES'][$doktype] = [
'type' => 'sys',
'icon' => $configuration['icon'],
'allowedTables' => '*',
];
}
// add the new doktype to the list of page types
$GLOBALS['PAGES_TYPES'][$doktype] = [
'type' => 'sys',
'icon' => $configuration['icon'],
'allowedTables' => '*',
];
}
$GLOBALS['TCA'][$table]['types'][\SGalinski\SgNews\Utility\BackendNewsUtility::NEWS_DOKTYPE] = [
'showitem' => '--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;;standard,
--palette--;;titleDescriptionAndHighlightFlag,
--palette--;LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:' . $table . '.palettes.editorial;editorialWithNewsAuthor,
tx_sgnews_content_from_another_page, tx_sgnews_related_news, tx_sgnews_tags,
--div--;' . $localLangDbPath . $table . '.tabs.images,
tx_sgnews_teaser2_image, tx_sgnews_teaser1_image,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:' . $table . '.tabs.metadata,
tx_projectbase_devnullrobots_flags,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:' . $table . '.palettes.abstract;abstract,
tx_projectbase_seo_titletag,tx_projectbase_seo_canonicaltag,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:' . $table . '.tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:' . $table . '.palettes.layout;layout,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:' . $table . '.palettes.visibility;visibility,
--palette--;LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:' . $table . '.palettes.access;access,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:' . $table . '.tabs.behaviour,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:' . $table . '.palettes.caching;caching,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:' . $table . '.palettes.miscellaneous;miscellaneous,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language
'
];
$GLOBALS['TCA']['pages']['types'][\SGalinski\SgNews\Utility\BackendNewsUtility::NEWS_DOKTYPE] = [
'showitem' => '--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;;standard,
--palette--;;titleDescriptionAndHighlightFlag,
--palette--;LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:pages.palettes.editorial;editorialWithNewsAuthor,
tx_sgnews_content_from_another_page, tx_sgnews_related_news, tx_sgnews_tags,
--div--;' . $localLangDbPath . 'pages.tabs.images,
tx_sgnews_teaser2_image, tx_sgnews_teaser1_image,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.metadata,
tx_projectbase_devnullrobots_flags,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.abstract;abstract,
tx_projectbase_seo_titletag,tx_projectbase_seo_canonicaltag,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.layout;layout,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:pages.palettes.visibility;visibility,
--palette--;LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:pages.palettes.access;access,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.behaviour,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.caching;caching,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.miscellaneous;miscellaneous,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language
'
];
$GLOBALS['TCA'][$table]['types'][\SGalinski\SgNews\Utility\BackendNewsUtility::CATEGORY_DOKTYPE] = [
'showitem' => '--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;;standard,
title, slug, tx_projectbase_path_segment, tx_projectbase_excludefromsluggeneration, tx_realurl_pathsegment, tx_realurl_exclude,
--div--;' . $localLangDbPath . $table . '.tabs.images,
tx_sgnews_teaser2_image, tx_sgnews_teaser1_image,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:' . $table . '.tabs.metadata,
tx_projectbase_devnullrobots_flags,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:' . $table . '.palettes.abstract;abstract,
tx_projectbase_seo_titletag,tx_projectbase_seo_canonicaltag, description,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:' . $table . '.tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:' . $table . '.palettes.layout;layout,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:' . $table . '.palettes.visibility;visibility,
--palette--;LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:' . $table . '.palettes.access;access,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:' . $table . '.tabs.behaviour,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:' . $table . '.palettes.caching;caching,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:' . $table . '.palettes.miscellaneous;miscellaneous,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language
'
];
$GLOBALS['TCA']['pages']['types'][\SGalinski\SgNews\Utility\BackendNewsUtility::CATEGORY_DOKTYPE] = [
'showitem' => '--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;;standard,
title, slug, tx_projectbase_path_segment, tx_projectbase_excludefromsluggeneration, tx_realurl_pathsegment, tx_realurl_exclude,
--div--;' . $localLangDbPath . 'pages.tabs.images,
tx_sgnews_teaser2_image, tx_sgnews_teaser1_image,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.metadata,
tx_projectbase_devnullrobots_flags,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.abstract;abstract,
tx_projectbase_seo_titletag,tx_projectbase_seo_canonicaltag, description,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.layout;layout,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:pages.palettes.visibility;visibility,
--palette--;LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:pages.palettes.access;access,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.behaviour,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.caching;caching,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.miscellaneous;miscellaneous,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language
'
];
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
$table, [
'tx_sgnews_teaser1_image' => [
'exclude' => TRUE,
'label' => $localLangDbPath . $table . '.tx_sgnews_teaser1_image',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'tx_sgnews_teaser1_image',
[
'maxitems' => 9999,
'foreign_types' => [
'0' => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
]
],
'appearance' => [
'showPossibleLocalizationRecords' => TRUE,
'showRemovedLocalizationRecords' => TRUE,
'showSynchronizationLink' => TRUE,
'showAllLocalizationLink' => TRUE,
],
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
'pages',
[
'tx_sgnews_teaser1_image' => [
'exclude' => TRUE,
'label' => $localLangDbPath . 'pages.tx_sgnews_teaser1_image',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'tx_sgnews_teaser1_image',
[
'maxitems' => 9999,
'foreign_types' => [
'0' => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
],
'tx_sgnews_teaser2_image' => [
'exclude' => TRUE,
'label' => $localLangDbPath . $table . '.tx_sgnews_teaser2_image',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'tx_sgnews_teaser2_image',
[
'maxitems' => 9999,
'foreign_types' => [
'0' => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
]
],
'appearance' => [
'showPossibleLocalizationRecords' => TRUE,
'showRemovedLocalizationRecords' => TRUE,
'showSynchronizationLink' => TRUE,
'showAllLocalizationLink' => TRUE,
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
],
'tx_sgnews_news_author' => [
'exclude' => TRUE,
'l10n_exclude' => TRUE,
'label' => $localLangDbPath . $table . '.tx_sgnews_news_author',
'config' => [
'type' => 'group',
'internal_type' => 'db',
'allowed' => 'tx_sgnews_domain_model_author',
'minitems' => 0,
'maxitems' => 9,
'items' => [
['', ''],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
'fieldControl' => [
'addRecord' => [
'disabled' => FALSE,
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
],
],
'tx_sgnews_content_from_another_page' => [
'exclude' => TRUE,
'l10n_exclude' => TRUE,
'label' => $localLangDbPath . $table . '.tx_sgnews_content_from_another_page',
'config' => [
'type' => 'group',
'internal_type' => 'db',
'allowed' => 'pages',
'size' => 1,
'minitems' => 0,
'maxitems' => 1,
'items' => [
['', ''],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
]
],
],
'tx_sgnews_related_news' => [
'exclude' => TRUE,
'l10n_exclude' => TRUE,
'label' => $localLangDbPath . $table . '.tx_sgnews_related_news',
'config' => [
'type' => 'group',
'internal_type' => 'db',
'allowed' => $table,
'size' => 5,
'minitems' => 0,
'maxitems' => 99
'appearance' => [
'showPossibleLocalizationRecords' => TRUE,
'showRemovedLocalizationRecords' => TRUE,
'showSynchronizationLink' => TRUE,
'showAllLocalizationLink' => TRUE,
],
],
'tx_sgnews_highlighted' => [
'displayCond' => 'FIELD:tx_sgnews_never_highlighted:=:0',
'onChange' => 'reload',
'exclude' => TRUE,
'l10n_exclude' => TRUE,
'label' => $localLangDbPath . $table . '.tx_sgnews_highlighted',
'config' => [
'type' => 'check',
'behaviour' => [
'allowLanguageSynchronization' => TRUE
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
],
'tx_sgnews_teaser2_image' => [
'exclude' => TRUE,
'label' => $localLangDbPath . 'pages.tx_sgnews_teaser2_image',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'tx_sgnews_teaser2_image',
[
'maxitems' => 9999,
'foreign_types' => [
'0' => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
]
],
],
'tx_sgnews_never_highlighted' => [
'displayCond' => 'FIELD:tx_sgnews_highlighted:=:0',
'onChange' => 'reload',
'exclude' => TRUE,
'l10n_exclude' => TRUE,
'label' => $localLangDbPath . $table . '.tx_sgnews_never_highlighted',
'config' => [
'type' => 'check',
'behaviour' => [
'allowLanguageSynchronization' => TRUE
]
'appearance' => [
'showPossibleLocalizationRecords' => TRUE,
'showRemovedLocalizationRecords' => TRUE,
'showSynchronizationLink' => TRUE,
'showAllLocalizationLink' => TRUE,
],
],
'tx_sgnews_tags' => [
'exclude' => 1,
'label' => $localLangDbPath . $table . '.tx_sgnews_tags',
'config' => [
'type' => 'select',
'maxitems' => 9999,
'size' => 10,
'foreign_table' => 'sys_category',
'foreign_table_where' => 'AND (IF (###PAGE_TSCONFIG_ID### = 0, 1, sys_category.pid = ###PAGE_TSCONFIG_ID###)) AND sys_category.sys_language_uid IN (-1, 0) ORDER BY sys_category.sorting ASC',
'MM' => 'sys_category_record_mm',
'MM_match_fields' => [
'fieldname' => 'tx_sgnews_tags',
'tablenames' => $table
],
'MM_opposite_field' => 'items',
'renderType' => 'selectTree',
'treeConfig' => [
'parentField' => 'parent',
'appearance' => [
'expandAll' => 1,
'maxLevels' => 99,
'showHeader' => 1
]
]
]
],
'tx_sgnews_likes' => [
'label' => $localLangDbPath . $table . '.tx_sgnews_likes',
'config' => [
'type' => 'input',
'size' => '20',
'eval' => 'trim',
]
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
],
'tx_sgnews_news_author' => [
'exclude' => TRUE,
'l10n_exclude' => TRUE,
'label' => $localLangDbPath . 'pages.tx_sgnews_news_author',
'config' => [
'type' => 'group',
'internal_type' => 'db',
'allowed' => 'tx_sgnews_domain_model_author',
'minitems' => 0,
'maxitems' => 9,
'items' => [
['', ''],
],
'lastUpdated' => [
'exclude' => TRUE,
'label' => 'LLL:EXT:cms/locallang_tca.xlf:' . $table . '.lastUpdated',
'config' => [
'type' => 'input',
'size' => '13',
'max' => '20',
'eval' => 'datetime',
'default' => $GLOBALS['EXEC_TIME'],
'behaviour' => [
'allowLanguageSynchronization' => TRUE,
]
]
'fieldControl' => [
'addRecord' => [
'disabled' => FALSE,
],
],
'tx_sgnews_date_end' => [
'exclude' => TRUE,
'label' => 'LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:pages.tx_sgnews_date_end',
'config' => [
'type' => 'input',
'size' => '13',
'max' => '20',
'eval' => 'datetime',
'default' => $GLOBALS['EXEC_TIME'],
'behaviour' => [
'allowLanguageSynchronization' => TRUE,
]
]
],
],
'tx_sgnews_content_from_another_page' => [
'exclude' => TRUE,
'l10n_exclude' => TRUE,
'label' => $localLangDbPath . 'pages.tx_sgnews_content_from_another_page',
'config' => [
'type' => 'group',
'internal_type' => 'db',
'allowed' => 'pages',
'size' => 1,
'minitems' => 0,
'maxitems' => 1,
'items' => [
['', ''],
]
],
],
'tx_sgnews_related_news' => [
'exclude' => TRUE,
'l10n_exclude' => TRUE,
'label' => $localLangDbPath . 'pages.tx_sgnews_related_news',
'config' => [
'type' => 'group',
'internal_type' => 'db',
'allowed' => 'pages',
'size' => 5,
'minitems' => 0,
'maxitems' => 99
],
],
'tx_sgnews_highlighted' => [
'displayCond' => 'FIELD:tx_sgnews_never_highlighted:=:0',
'onChange' => 'reload',
'exclude' => TRUE,
'l10n_exclude' => TRUE,
'label' => $localLangDbPath . 'pages.tx_sgnews_highlighted',
'config' => [
'type' => 'check',
'behaviour' => [
'allowLanguageSynchronization' => TRUE
]
],
],
'tx_sgnews_never_highlighted' => [
'displayCond' => 'FIELD:tx_sgnews_highlighted:=:0',
'onChange' => 'reload',
'exclude' => TRUE,
'l10n_exclude' => TRUE,
'label' => $localLangDbPath . 'pages.tx_sgnews_never_highlighted',
'config' => [
'type' => 'check',
'behaviour' => [
'allowLanguageSynchronization' => TRUE
]
],
],
'tx_sgnews_tags' => [
'exclude' => 1,
'label' => $localLangDbPath . 'pages.tx_sgnews_tags',
'config' => [
'type' => 'select',
'maxitems' => 9999,
'size' => 10,
'foreign_table' => 'sys_category',
'foreign_table_where' => 'AND (IF (###PAGE_TSCONFIG_ID### = 0, 1, sys_category.pid = ###PAGE_TSCONFIG_ID###)) AND sys_category.sys_language_uid IN (-1, 0) ORDER BY sys_category.sorting ASC',
'MM' => 'sys_category_record_mm',
'MM_match_fields' => [
'fieldname' => 'tx_sgnews_tags',
'tablenames' => 'pages'
],
'tx_sgnews_location' => [
'exclude' => TRUE,
'label' => $localLangDbPath . $table . '.tx_sgnews_location',
'config' => [
'type' => 'input',
'size' => 20,
'eval' => 'trim',
'behaviour' => [
'allowLanguageSynchronization' => TRUE
]
'MM_opposite_field' => 'items',
'renderType' => 'selectTree',
'treeConfig' => [
'parentField' => 'parent',
'appearance' => [
'expandAll' => 1,
'maxLevels' => 99,
'showHeader' => 1
]
]
]
);
],
'tx_sgnews_likes' => [
'label' => $localLangDbPath . 'pages.tx_sgnews_likes',
'config' => [
'type' => 'input',
'size' => '20',
'eval' => 'trim',
]
],
'lastUpdated' => [
'exclude' => TRUE,
'label' => 'LLL:EXT:cms/locallang_tca.xlf:pages.lastUpdated',
'config' => [
'type' => 'input',
'size' => '13',
'max' => '20',
'eval' => 'datetime',
'default' => $GLOBALS['EXEC_TIME'],
'behaviour' => [
'allowLanguageSynchronization' => TRUE,
]
]
],
'tx_sgnews_date_end' => [
'exclude' => TRUE,
'label' => 'LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:pages.tx_sgnews_date_end',
'config' => [
'type' => 'input',
'size' => '13',
'max' => '20',
'eval' => 'datetime',
'default' => $GLOBALS['EXEC_TIME'],
'behaviour' => [
'allowLanguageSynchronization' => TRUE,
]
]
],
'tx_sgnews_location' => [
'exclude' => TRUE,
'label' => $localLangDbPath . 'pages.tx_sgnews_location',
'config' => [
'type' => 'input',
'size' => 20,
'eval' => 'trim',
'behaviour' => [
'allowLanguageSynchronization' => TRUE
]
]
]
]
);
$GLOBALS['TCA'][$table]['palettes']['titleDescriptionAndHighlightFlag'] = [
'showitem' => 'subtitle;' . $localLangDbPath . $table . '.subtitle.inPalette,
--linebreak--, title,
--linebreak--, description,
--linebreak--, slug,
--linebreak--, tx_projectbase_path_segment, tx_projectbase_excludefromsluggeneration,
--linebreak--, tx_realurl_pathsegment, tx_realurl_exclude,
--linebreak--, tx_sgnews_highlighted, tx_sgnews_never_highlighted',
'canNotCollapse' => 1,
];
$GLOBALS['TCA']['pages']['palettes']['titleDescriptionAndHighlightFlag'] = [
'showitem' => 'subtitle;' . $localLangDbPath . 'pages.subtitle.inPalette,
--linebreak--, title,
--linebreak--, description,
--linebreak--, slug,
--linebreak--, tx_projectbase_path_segment, tx_projectbase_excludefromsluggeneration,
--linebreak--, tx_realurl_pathsegment, tx_realurl_exclude,
--linebreak--, tx_sgnews_highlighted, tx_sgnews_never_highlighted',
'canNotCollapse' => 1,
];
$GLOBALS['TCA'][$table]['palettes']['editorialWithNewsAuthor'] = [
'showitem' => 'tx_sgnews_news_author,
--linebreak--, lastUpdated;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:' . $table . '.lastUpdated_formlabel,
tx_sgnews_date_end,
--linebreak--,tx_sgnews_likes,--linebreak--,tx_sgnews_location',
'canNotCollapse' => 1,
];
$GLOBALS['TCA']['pages']['palettes']['editorialWithNewsAuthor'] = [
'showitem' => 'tx_sgnews_news_author,
--linebreak--, lastUpdated;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.lastUpdated_formlabel,
tx_sgnews_date_end,
--linebreak--,tx_sgnews_likes,--linebreak--,tx_sgnews_location',
'canNotCollapse' => 1,
];
foreach (
$GLOBALS['TCA'][$table]['columns'] as $languageExcludeField => $_
) {
if (
!\in_array(
$languageExcludeField, [
'doktype',
'title',
'subtitle',
'description',
'slug',
'tx_projectbase_path_segment',
'tx_projectbase_excludefromsluggeneration',
'tx_sgnews_location',
'tx_sgnews_teaser1_image',
'tx_sgnews_teaser2_image',
'tx_sgnews_tags',
'abstract',
'tx_projectbase_seo_titletag',
'tx_projectbase_seo_canonicaltag',
'hidden',
'sys_language_uid',
'tx_languagevisibility_visibility',
'lastUpdated',
'tx_sgnews_date_end',
'tx_sgnews_highlighted',
'tx_sgnews_never_highlighted',
]
)
) {
$GLOBALS['TCA'][$table]['types'][\SGalinski\SgNews\Utility\BackendNewsUtility::NEWS_DOKTYPE]['columnsOverrides'][$languageExcludeField]['l10n_mode'] = 'exclude';
}
}
foreach (
$GLOBALS['TCA']['pages']['columns'] as $languageExcludeField => $_
) {
if (
!\in_array(
$languageExcludeField, [
'doktype',
'title',
'subtitle',
'description',
'slug',
'tx_projectbase_path_segment',
'tx_projectbase_excludefromsluggeneration',
'tx_sgnews_location',
'tx_sgnews_teaser1_image',
'tx_sgnews_teaser2_image',
'tx_sgnews_tags',
'abstract',
'tx_projectbase_seo_titletag',
'tx_projectbase_seo_canonicaltag',
'hidden',
'sys_language_uid',
'tx_languagevisibility_visibility',
'lastUpdated',
'tx_sgnews_date_end',
'tx_sgnews_highlighted',
'tx_sgnews_never_highlighted',
]
)
) {
$GLOBALS['TCA']['pages']['types'][\SGalinski\SgNews\Utility\BackendNewsUtility::NEWS_DOKTYPE]['columnsOverrides'][$languageExcludeField]['l10n_mode'] = 'exclude';
}
}
$GLOBALS['TCA'][$table]['types'][\SGalinski\SgNews\Utility\BackendNewsUtility::NEWS_DOKTYPE]['columnsOverrides']['title']['label'] =
'LLL:EXT:' . $extKey . '/Resources/Private/Language/locallang_db.xlf:' . $table . '.title';
$GLOBALS['TCA'][$table]['types'][\SGalinski\SgNews\Utility\BackendNewsUtility::NEWS_DOKTYPE]['columnsOverrides']['subtitle']['label'] =
'LLL:EXT:' . $extKey . '/Resources/Private/Language/locallang_db.xlf:' . $table . '.subtitle';
$GLOBALS['TCA'][$table]['types'][\SGalinski\SgNews\Utility\BackendNewsUtility::NEWS_DOKTYPE]['columnsOverrides']['slug']['label'] =
'LLL:EXT:' . $extKey . '/Resources/Private/Language/locallang_db.xlf:' . $table . '.slug';
}, 'sg_news', 'pages'
);
$GLOBALS['TCA']['pages']['types'][\SGalinski\SgNews\Utility\BackendNewsUtility::NEWS_DOKTYPE]['columnsOverrides']['title']['label'] =
'LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:pages.title';
$GLOBALS['TCA']['pages']['types'][\SGalinski\SgNews\Utility\BackendNewsUtility::NEWS_DOKTYPE]['columnsOverrides']['subtitle']['label'] =
'LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:pages.subtitle';
$GLOBALS['TCA']['pages']['types'][\SGalinski\SgNews\Utility\BackendNewsUtility::NEWS_DOKTYPE]['columnsOverrides']['slug']['label'] =
'LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:pages.slug';
......@@ -24,11 +24,6 @@
* This copyright notice MUST APPEAR in all copies of the script!
*/
call_user_func(
function ($extKey, $table) {
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
$extKey, 'Configuration/TypoScript/Frontend', 'News System'
);
}, 'sg_news', 'sys_template'
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
'sg_news', 'Configuration/TypoScript/Frontend', 'News System'
);
......@@ -24,62 +24,54 @@
* This copyright notice MUST APPEAR in all copies of the script!
*/
call_user_func(
function ($extKey, $table) {
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
$extKey,
'Overview',
'LLL:EXT:' . $extKey . '/Resources/Private/Language/locallang_backend.xlf:pageTypeTitlePluginOverview.news'
);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
'sg_news',
'Overview',
'LLL:EXT:sg_news/Resources/Private/Language/locallang_backend.xlf:pageTypeTitlePluginOverview.news'
);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
$extKey,
'Latest',
'LLL:EXT:' . $extKey . '/Resources/Private/Language/locallang_backend.xlf:pageTypeTitlePluginLatest.news'
);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
'sg_news',
'Latest',
'LLL:EXT:sg_news/Resources/Private/Language/locallang_backend.xlf:pageTypeTitlePluginLatest.news'
);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
$extKey,
'ListByCategory',
'LLL:EXT:' . $extKey . '/Resources/Private/Language/locallang_backend.xlf:pageTypeTitlePluginCategory.news'
);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
'sg_news',
'ListByCategory',
'LLL:EXT:sg_news/Resources/Private/Language/locallang_backend.xlf:pageTypeTitlePluginCategory.news'
);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
$extKey,
'NewsByAuthor',
'LLL:EXT:' . $extKey . '/Resources/Private/Language/locallang_backend.xlf:newsFromAuthorPlugin'
);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
'sg_news',
'NewsByAuthor',
'LLL:EXT:sg_news/Resources/Private/Language/locallang_backend.xlf:newsFromAuthorPlugin'
);
// Removal of the unused plugin setting fields
$GLOBALS['TCA'][$table]['types']['list']['subtypes_excludelist']['sgnews_overview'] = 'select_key,pages,recursive';
$GLOBALS['TCA'][$table]['types']['list']['subtypes_excludelist']['sgnews_listbycategory'] = 'select_key,pages,recursive';
$GLOBALS['TCA'][$table]['types']['list']['subtypes_excludelist']['sgnews_latest'] = 'select_key,pages,recursive';
$GLOBALS['TCA'][$table]['types']['list']['subtypes_excludelist']['sgnews_singleview'] = 'select_key,pages,recursive';
$GLOBALS['TCA'][$table]['types']['list']['subtypes_excludelist']['sgnews_newsbyauthor'] = 'select_key,pages,recursive';
// Removal of the unused plugin setting fields
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist']['sgnews_overview'] = 'select_key,pages,recursive';
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist']['sgnews_listbycategory'] = 'select_key,pages,recursive';
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist']['sgnews_latest'] = 'select_key,pages,recursive';
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist']['sgnews_singleview'] = 'select_key,pages,recursive';
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist']['sgnews_newsbyauthor'] = 'select_key,pages,recursive';
// Flex form assignment
$pluginSignature = str_replace('_', '', $extKey) . '_overview';
$GLOBALS['TCA'][$table]['types']['list']['subtypes_addlist'][$pluginSignature] = 'pi_flexform';
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
$pluginSignature, 'FILE:EXT:' . $extKey . '/Configuration/FlexForms/Overview.xml'
);
// Flex form assignment
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist']['sgnews_overview'] = 'pi_flexform';
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'sgnews_overview', 'FILE:EXT:sg_news/Configuration/FlexForms/Overview.xml'
);
$pluginSignature = str_replace('_', '', $extKey) . '_listbycategory';
$GLOBALS['TCA'][$table]['types']['list']['subtypes_addlist'][$pluginSignature] = 'pi_flexform';
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
$pluginSignature, 'FILE:EXT:' . $extKey . '/Configuration/FlexForms/ListByCategory.xml'
);
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist']['sgnews_listbycategory'] = 'pi_flexform';
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'sgnews_listbycategory', 'FILE:EXT:sg_news/Configuration/FlexForms/ListByCategory.xml'
);
$pluginSignature = str_replace('_', '', $extKey) . '_latest';
$GLOBALS['TCA'][$table]['types']['list']['subtypes_addlist'][$pluginSignature] = 'pi_flexform';
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
$pluginSignature, 'FILE:EXT:' . $extKey . '/Configuration/FlexForms/Latest.xml'
);
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist']['sgnews_latest'] = 'pi_flexform';
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'sgnews_latest', 'FILE:EXT:sg_news/Configuration/FlexForms/Latest.xml'
);
$pluginSignature = str_replace('_', '', $extKey) . '_newsbyauthor';
$GLOBALS['TCA'][$table]['types']['list']['subtypes_addlist'][$pluginSignature] = 'pi_flexform';
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
$pluginSignature, 'FILE:EXT:' . $extKey . '/Configuration/FlexForms/NewsByAuthor.xml'
);
}, 'sg_news', 'tt_content'
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist']['sgnews_newsbyauthor'] = 'pi_flexform';
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'sgnews_newsbyauthor', 'FILE:EXT:sg_news/Configuration/FlexForms/NewsByAuthor.xml'
);
......@@ -25,64 +25,64 @@
*/
call_user_func(
function ($extKey) {
static function () {
// common typoscript configuration
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptSetup(
'@import "EXT:' . $extKey . '/Configuration/TypoScript/Common/setup.typoscript"'
'@import "EXT:sg_news/Configuration/TypoScript/Common/setup.typoscript"'
);
// plugin configurations
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'SGalinski.' . $extKey,
'SGalinski.sg_news',
'Overview',
['Overview' => 'overview',],
['Overview' => '',]
);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'SGalinski.' . $extKey,
'SGalinski.sg_news',
'ListByCategory',
['ListByCategory' => 'index',],
['ListByCategory' => '',]
);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'SGalinski.' . $extKey,
'SGalinski.sg_news',
'SingleView',
['SingleView' => 'singleView',],
['SingleView' => '',]
);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'SGalinski.' . $extKey,
'SGalinski.sg_news',
'NewsFeed',
['NewsFeed' => 'index',],
['NewsFeed' => '',]
);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'SGalinski.' . $extKey,
'SGalinski.sg_news',
'Latest',
['Latest' => 'index',],
['Latest' => '',]
);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'SGalinski.' . $extKey,
'SGalinski.sg_news',
'ListByCategory',
['ListByCategory' => 'index',],
['ListByCategory' => '',]
);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'SGalinski.' . $extKey,
'SGalinski.sg_news',
'PageBrowser',
['PageBrowser' => 'index',],
['PageBrowser' => '',]
);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'SGalinski.' . $extKey,
'SGalinski.sg_news',
'NewsByAuthor',
['NewsByAuthor' => 'list',],
['NewsByAuthor' => '',]
......@@ -90,7 +90,8 @@ call_user_func(
if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('sg_ajax')) {
\SGalinski\SgAjax\Service\AjaxRegistration::configureAjaxFrontendPlugin(
$extKey, [
'sg_news',
[
'Ajax\Like' => 'addLike',
]
);
......@@ -133,7 +134,7 @@ call_user_func(
\SGalinski\SgNews\Utility\BackendNewsUtility::registerIcons();
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(
'@import "EXT:' . $extKey . '/Configuration/TsConfig/Page/NewContentElementWizard.tsconfig"'
'@import "EXT:sg_news/Configuration/TsConfig/Page/NewContentElementWizard.tsconfig"'
);
// Add upgrade wizards
......@@ -147,5 +148,5 @@ call_user_func(
'priority' => 40,
'class' => \TYPO3\Languagevisibility\UserFunction\FieldVisibilityUserFunction::class,
];
}, 'sg_news'
}
);
......@@ -25,7 +25,7 @@
*/
call_user_func(
function ($extKey) {
static function () {
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages(
'tx_sgnews_domain_model_author'
);
......@@ -33,7 +33,7 @@ call_user_func(
if (TYPO3_MODE === 'BE') {
$navigationComponentId = 'TYPO3/CMS/Backend/PageTree/PageTreeElement';
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule(
'SGalinski.' . $extKey,
'SGalinski.sg_news',
'web',
'News',
'',
......@@ -42,11 +42,11 @@ call_user_func(
],
[
'access' => 'user,group',
'icon' => 'EXT:' . $extKey . '/Resources/Public/Icons/module-sgnews.svg',
'labels' => 'LLL:EXT:' . $extKey . '/Resources/Private/Language/locallang.xlf',
'icon' => 'EXT:sg_news/Resources/Public/Icons/module-sgnews.svg',
'labels' => 'LLL:EXT:sg_news/Resources/Private/Language/locallang.xlf',
'navigationComponentId' => $navigationComponentId
]
);
}
}, 'sg_news'
}
);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment