Initial commit - Typo3 11.5.41
This commit is contained in:
22
typo3conf/ext/news/Configuration/TCA/Overrides/pages.php
Normal file
22
typo3conf/ext/news/Configuration/TCA/Overrides/pages.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3_MODE') or die();
|
||||
|
||||
// Override news icon
|
||||
$GLOBALS['TCA']['pages']['columns']['module']['config']['items'][] = [
|
||||
0 => 'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:news-folder',
|
||||
1 => 'news',
|
||||
2 => 'apps-pagetree-folder-contains-news'
|
||||
];
|
||||
$GLOBALS['TCA']['pages']['columns']['module']['config']['items'][] = [
|
||||
0 => 'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:news-page',
|
||||
1 => 'newsplugins',
|
||||
2 => 'apps-pagetree-page-contains-news'
|
||||
];
|
||||
$GLOBALS['TCA']['pages']['ctrl']['typeicon_classes']['contains-newsplugins'] = 'apps-pagetree-page-contains-news';
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
|
||||
'news',
|
||||
'Configuration/TSconfig/Page/news_only.tsconfig',
|
||||
'EXT:news :: Restrict pages to news records'
|
||||
);
|
||||
198
typo3conf/ext/news/Configuration/TCA/Overrides/sys_category.php
Normal file
198
typo3conf/ext/news/Configuration/TCA/Overrides/sys_category.php
Normal file
@@ -0,0 +1,198 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3_MODE') or die();
|
||||
|
||||
$ll = 'LLL:EXT:news/Resources/Private/Language/locallang_db.xlf:';
|
||||
$configuration = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\GeorgRinger\News\Domain\Model\Dto\EmConfiguration::class);
|
||||
|
||||
/**
|
||||
* Add extra fields to the sys_category record
|
||||
*/
|
||||
$newSysCategoryColumns = [
|
||||
'pid' => [
|
||||
'label' => 'pid',
|
||||
'config' => [
|
||||
'type' => 'passthrough'
|
||||
]
|
||||
],
|
||||
'sorting' => [
|
||||
'label' => 'sorting',
|
||||
'config' => [
|
||||
'type' => 'passthrough'
|
||||
]
|
||||
],
|
||||
'crdate' => [
|
||||
'label' => 'crdate',
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
]
|
||||
],
|
||||
'tstamp' => [
|
||||
'label' => 'tstamp',
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
]
|
||||
],
|
||||
'images' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_category.image',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'images',
|
||||
[
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference',
|
||||
'showPossibleLocalizationRecords' => true,
|
||||
'showRemovedLocalizationRecords' => true,
|
||||
'showAllLocalizationLink' => true,
|
||||
'showSynchronizationLink' => true
|
||||
],
|
||||
'foreign_match_fields' => [
|
||||
'fieldname' => 'images',
|
||||
'tablenames' => 'sys_category',
|
||||
'table_local' => 'sys_file',
|
||||
],
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
)
|
||||
],
|
||||
'single_pid' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_category.single_pid',
|
||||
'config' => [
|
||||
'type' => 'group',
|
||||
'internal_type' => 'db',
|
||||
'allowed' => 'pages',
|
||||
'size' => 1,
|
||||
'maxitems' => 1,
|
||||
'default' => 0,
|
||||
'suggestOptions' => [
|
||||
'default' => [
|
||||
'searchWholePhrase' => true,
|
||||
]
|
||||
],
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
]
|
||||
],
|
||||
'shortcut' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_category.shortcut',
|
||||
'config' => [
|
||||
'type' => 'group',
|
||||
'internal_type' => 'db',
|
||||
'allowed' => 'pages',
|
||||
'size' => 1,
|
||||
'maxitems' => 1,
|
||||
'default' => 0,
|
||||
'suggestOptions' => [
|
||||
'default' => [
|
||||
'searchWholePhrase' => true,
|
||||
]
|
||||
],
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
]
|
||||
],
|
||||
'import_id' => [
|
||||
'label' => $ll . 'tx_news_domain_model_news.import_id',
|
||||
'config' => [
|
||||
'type' => 'passthrough'
|
||||
]
|
||||
],
|
||||
'import_source' => [
|
||||
'label' => $ll . 'tx_news_domain_model_news.import_source',
|
||||
'config' => [
|
||||
'type' => 'passthrough'
|
||||
]
|
||||
],
|
||||
'seo_headline' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_category.seo.seo_headline',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
],
|
||||
],
|
||||
'seo_title' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_category.seo.seo_title',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
],
|
||||
],
|
||||
'seo_description' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_category.seo.seo_description',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
],
|
||||
],
|
||||
'seo_text' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_category.seo.seo_text',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'enableRichtext' => true,
|
||||
],
|
||||
],
|
||||
'slug' =>[
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:pages.slug',
|
||||
'displayCond' => 'VERSION:IS:false',
|
||||
'config' => [
|
||||
'type' => 'slug',
|
||||
'size' => 50,
|
||||
'generatorOptions' => [
|
||||
'fields' => ['title'],
|
||||
'replacements' => [
|
||||
'/' => '-'
|
||||
],
|
||||
],
|
||||
'fallbackCharacter' => '-',
|
||||
'eval' => $configuration->getSlugBehaviour(),
|
||||
'default' => ''
|
||||
]
|
||||
],
|
||||
];
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('sys_category', $newSysCategoryColumns);
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
|
||||
'sys_category',
|
||||
'--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.options, images',
|
||||
'',
|
||||
'before:description'
|
||||
);
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
|
||||
'sys_category',
|
||||
'single_pid',
|
||||
'',
|
||||
'after:description'
|
||||
);
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
|
||||
'sys_category',
|
||||
'shortcut',
|
||||
'',
|
||||
'after:single_pid'
|
||||
);
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
|
||||
'sys_category',
|
||||
'--div--;' . $ll . 'tx_news_domain_model_category.tabs.seo, seo_title, seo_description, seo_headline, seo_text',
|
||||
'',
|
||||
'after:endtime'
|
||||
);
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
|
||||
'sys_category',
|
||||
'slug',
|
||||
'',
|
||||
'after:title'
|
||||
);
|
||||
|
||||
$GLOBALS['TCA']['sys_category']['columns']['items']['config']['MM_oppositeUsage']['tx_news_domain_model_news']
|
||||
= [0 => 'categories'];
|
||||
|
||||
$GLOBALS['TCA']['sys_category']['ctrl']['label_userFunc'] =
|
||||
\GeorgRinger\News\Hooks\Labels::class . '->getUserLabelCategory';
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3_MODE') or die();
|
||||
|
||||
$emConfiguration = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\GeorgRinger\News\Domain\Model\Dto\EmConfiguration::class);
|
||||
if ($emConfiguration->isAdvancedMediaPreview()) {
|
||||
$fieldConfig = [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['LLL:EXT:news/Resources/Private/Language/locallang_db.xlf:tx_news_domain_model_media.showinviews.0', 0, ''],
|
||||
['LLL:EXT:news/Resources/Private/Language/locallang_db.xlf:tx_news_domain_model_media.showinviews.1', 1, ''],
|
||||
['LLL:EXT:news/Resources/Private/Language/locallang_db.xlf:tx_news_domain_model_media.showinviews.2', 2, ''],
|
||||
],
|
||||
'default' => 0,
|
||||
];
|
||||
} else {
|
||||
$fieldConfig = [
|
||||
'type' => 'check',
|
||||
'default' => 0
|
||||
];
|
||||
}
|
||||
|
||||
$newSysFileReferenceColumns = [
|
||||
'showinpreview' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:news/Resources/Private/Language/locallang_db.xlf:tx_news_domain_model_media.showinviews',
|
||||
'config' => $fieldConfig
|
||||
],
|
||||
];
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('sys_file_reference', $newSysFileReferenceColumns);
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette('sys_file_reference', 'newsPalette', 'showinpreview');
|
||||
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3_MODE') or die();
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('news', 'Configuration/TypoScript', 'News');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('news', 'Configuration/TypoScript/Sitemap', 'News Sitemap');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('news', 'Configuration/TypoScript/Styles/Twb', 'News Styles Twitter Bootstrap');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('news', 'Configuration/TypoScript/Styles/Twb5', 'News Styles Twitter Bootstrap V5');
|
||||
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3_MODE') or die();
|
||||
|
||||
/***************
|
||||
* Plugin
|
||||
*/
|
||||
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'news',
|
||||
'Pi1',
|
||||
'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:pi1_title'
|
||||
);
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist']['news_pi1'] = 'recursive,select_key,pages';
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist']['news_pi1'] = 'pi_flexform';
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
|
||||
'news_pi1',
|
||||
'FILE:EXT:news/Configuration/FlexForms/flexform_news.xml'
|
||||
);
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToInsertRecords('tx_news_domain_model_news');
|
||||
|
||||
foreach (['crdate', 'tstamp'] as $fakeField) {
|
||||
if (!isset($GLOBALS['TCA']['tt_content']['columns'][$fakeField])) {
|
||||
$GLOBALS['TCA']['tt_content']['columns'][$fakeField] = [
|
||||
'label' => $fakeField,
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
$newFields = [
|
||||
'tx_news_related_news' => [
|
||||
'label' => 'tx_news_related_news',
|
||||
'config' => [
|
||||
'type' => 'passthrough'
|
||||
]
|
||||
]
|
||||
];
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', $newFields);
|
||||
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3_MODE') or die();
|
||||
|
||||
$boot = static function (): void {
|
||||
// Add seo sitemap fields
|
||||
if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('seo')) {
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
|
||||
'tx_news_domain_model_news',
|
||||
[
|
||||
'sitemap_changefreq' => [
|
||||
'config' => [
|
||||
'items' => [
|
||||
['LLL:EXT:seo/Resources/Private/Language/locallang_tca.xlf:pages.sitemap_changefreq.none', ''],
|
||||
['LLL:EXT:seo/Resources/Private/Language/locallang_tca.xlf:pages.sitemap_changefreq.always', 'always'],
|
||||
['LLL:EXT:seo/Resources/Private/Language/locallang_tca.xlf:pages.sitemap_changefreq.hourly', 'hourly'],
|
||||
['LLL:EXT:seo/Resources/Private/Language/locallang_tca.xlf:pages.sitemap_changefreq.daily', 'daily'],
|
||||
['LLL:EXT:seo/Resources/Private/Language/locallang_tca.xlf:pages.sitemap_changefreq.weekly', 'weekly'],
|
||||
['LLL:EXT:seo/Resources/Private/Language/locallang_tca.xlf:pages.sitemap_changefreq.monthly', 'monthly'],
|
||||
['LLL:EXT:seo/Resources/Private/Language/locallang_tca.xlf:pages.sitemap_changefreq.yearly', 'yearly'],
|
||||
['LLL:EXT:seo/Resources/Private/Language/locallang_tca.xlf:pages.sitemap_changefreq.never', 'never']
|
||||
],
|
||||
'renderType' => 'selectSingle',
|
||||
'type' => 'select'
|
||||
],
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:seo/Resources/Private/Language/locallang_tca.xlf:pages.sitemap_changefreq'
|
||||
],
|
||||
'sitemap_priority' => [
|
||||
'config' => [
|
||||
'items' => [
|
||||
['0.0', '0.0'],
|
||||
['0.1', '0.1'],
|
||||
['0.2', '0.2'],
|
||||
['0.3', '0.3'],
|
||||
['0.4', '0.4'],
|
||||
['0.5', '0.5'],
|
||||
['0.6', '0.6'],
|
||||
['0.7', '0.7'],
|
||||
['0.8', '0.8'],
|
||||
['0.9', '0.9'],
|
||||
['1.0', '1.0']
|
||||
],
|
||||
'renderType' => 'selectSingle',
|
||||
'type' => 'select',
|
||||
'default' => '0.5',
|
||||
],
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:seo/Resources/Private/Language/locallang_tca.xlf:pages.sitemap_priority'
|
||||
]
|
||||
]
|
||||
);
|
||||
|
||||
$GLOBALS['TCA']['tx_news_domain_model_news']['palettes']['sitemap'] = [
|
||||
'label' => 'LLL:EXT:seo/Resources/Private/Language/locallang_tca.xlf:pages.palettes.sitemap',
|
||||
'showitem' => 'sitemap_changefreq,sitemap_priority'
|
||||
];
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
|
||||
'tx_news_domain_model_news',
|
||||
'--palette--;;sitemap',
|
||||
'',
|
||||
'after:alternative_title'
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
$boot();
|
||||
unset($boot);
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3') or die();
|
||||
|
||||
call_user_func(static function () {
|
||||
$versionInformation = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Information\Typo3Version::class);
|
||||
if ($versionInformation->getMajorVersion() === 11) {
|
||||
foreach (['link', 'news', 'tag'] as $tableSuffix) {
|
||||
$GLOBALS['TCA']['tx_news_domain_model_' . $tableSuffix]['columns']['sys_language_uid']['config'] = [
|
||||
'type' => 'language'
|
||||
];
|
||||
}
|
||||
|
||||
$showRemovedLocalizationRecordsFields = [
|
||||
'sys_category' => ['images'],
|
||||
'tx_news_domain_model_news' => ['related_links', 'content_elements', 'fal_media', 'fal_related_files']
|
||||
];
|
||||
|
||||
foreach ($showRemovedLocalizationRecordsFields as $tableName => $fields) {
|
||||
foreach ($fields as $field) {
|
||||
unset($GLOBALS['TCA'][$tableName]['columns'][$field]['config']['appearance']['showRemovedLocalizationRecords']);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,159 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3_MODE') or die();
|
||||
|
||||
$ll = 'LLL:EXT:news/Resources/Private/Language/locallang_db.xlf:';
|
||||
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => $ll . 'tx_news_domain_model_link',
|
||||
'descriptionColumn' => 'description',
|
||||
'label' => 'title',
|
||||
'label_alt' => 'uri',
|
||||
'label_alt_force' => true,
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'cruser_id' => 'cruser_id',
|
||||
'languageField' => 'sys_language_uid',
|
||||
'transOrigPointerField' => 'l10n_parent',
|
||||
'transOrigDiffSourceField' => 'l10n_diffsource',
|
||||
'translationSource' => 'l10n_source',
|
||||
'versioningWS' => true,
|
||||
'origUid' => 't3_origuid',
|
||||
'default_sortby' => 'ORDER BY sorting',
|
||||
'sortby' => 'sorting',
|
||||
'delete' => 'deleted',
|
||||
'enablecolumns' => [
|
||||
'disabled' => 'hidden',
|
||||
],
|
||||
'typeicon_classes' => [
|
||||
'default' => 'ext-news-link'
|
||||
],
|
||||
'hideTable' => true,
|
||||
],
|
||||
'columns' => [
|
||||
'pid' => [
|
||||
'label' => 'pid',
|
||||
'config' => [
|
||||
'type' => 'passthrough'
|
||||
]
|
||||
],
|
||||
'crdate' => [
|
||||
'label' => 'crdate',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'eval' => 'datetime',
|
||||
]
|
||||
],
|
||||
'tstamp' => [
|
||||
'label' => 'tstamp',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'eval' => 'datetime',
|
||||
]
|
||||
],
|
||||
'sys_language_uid' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'special' => 'languages',
|
||||
'items' => [
|
||||
[
|
||||
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.allLanguages',
|
||||
-1,
|
||||
'flags-multiple'
|
||||
],
|
||||
],
|
||||
'default' => 0,
|
||||
]
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['', 0],
|
||||
],
|
||||
'foreign_table' => 'tx_news_domain_model_link',
|
||||
'foreign_table_where' => 'AND tx_news_domain_model_link.pid=###CURRENT_PID### AND tx_news_domain_model_link.sys_language_uid IN (-1,0)',
|
||||
'default' => 0,
|
||||
]
|
||||
],
|
||||
'l10n_source' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough'
|
||||
]
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
'default' => ''
|
||||
]
|
||||
],
|
||||
'hidden' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.hidden',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'default' => 0
|
||||
]
|
||||
],
|
||||
'title' => [
|
||||
'exclude' => false,
|
||||
'label' => $ll . 'tx_news_domain_model_link.title',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
]
|
||||
],
|
||||
'description' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_link.description',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 30,
|
||||
'rows' => 5,
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
]
|
||||
],
|
||||
'uri' => [
|
||||
'exclude' => false,
|
||||
'label' => $ll . 'tx_news_domain_model_link.uri',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputLink',
|
||||
'placeholder' => $ll . 'tx_news_domain_model_link.uri.placeholder',
|
||||
'size' => 30,
|
||||
'eval' => 'trim,required',
|
||||
'softref' => 'typolink',
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
]
|
||||
],
|
||||
],
|
||||
'types' => [
|
||||
0 => [
|
||||
'showitem' => 'uri, --palette--;;paletteCore,title, --palette--;;paletteDescription'
|
||||
]
|
||||
],
|
||||
'palettes' => [
|
||||
'paletteCore' => [
|
||||
'showitem' => 'hidden,sys_language_uid,l10n_parent, l10n_diffsource,',
|
||||
],
|
||||
'paletteDescription' => [
|
||||
'showitem' => 'description',
|
||||
]
|
||||
]
|
||||
];
|
||||
@@ -0,0 +1,866 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3_MODE') or die();
|
||||
|
||||
$ll = 'LLL:EXT:news/Resources/Private/Language/locallang_db.xlf:';
|
||||
|
||||
$configuration = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\GeorgRinger\News\Domain\Model\Dto\EmConfiguration::class);
|
||||
|
||||
$tx_news_domain_model_news = [
|
||||
'ctrl' => [
|
||||
'title' => $ll . 'tx_news_domain_model_news',
|
||||
'descriptionColumn' => 'notes',
|
||||
'label' => 'title',
|
||||
'prependAtCopy' => $configuration->getPrependAtCopy() ? 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.prependAtCopy' : '',
|
||||
'hideAtCopy' => true,
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'cruser_id' => 'cruser_id',
|
||||
'versioningWS' => true,
|
||||
'origUid' => 't3_origuid',
|
||||
'editlock' => 'editlock',
|
||||
'type' => 'type',
|
||||
'typeicon_column' => 'type',
|
||||
'typeicon_classes' => [
|
||||
'default' => 'ext-news-type-default',
|
||||
'1' => 'ext-news-type-internal',
|
||||
'2' => 'ext-news-type-external',
|
||||
],
|
||||
'useColumnsForDefaultValues' => 'type',
|
||||
'languageField' => 'sys_language_uid',
|
||||
'transOrigPointerField' => 'l10n_parent',
|
||||
'transOrigDiffSourceField' => 'l10n_diffsource',
|
||||
'translationSource' => 'l10n_source',
|
||||
'default_sortby' => 'ORDER BY datetime DESC',
|
||||
'sortby' => ($configuration->getManualSorting() ? 'sorting' : ''),
|
||||
'delete' => 'deleted',
|
||||
'enablecolumns' => [
|
||||
'disabled' => 'hidden',
|
||||
'starttime' => 'starttime',
|
||||
'endtime' => 'endtime',
|
||||
'fe_group' => 'fe_group',
|
||||
],
|
||||
'iconfile' => 'EXT:news/Resources/Public/Icons/news_domain_model_news.svg',
|
||||
'searchFields' => 'uid,title',
|
||||
],
|
||||
'columns' => [
|
||||
'sys_language_uid' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'special' => 'languages',
|
||||
'items' => [
|
||||
[
|
||||
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.allLanguages',
|
||||
-1,
|
||||
'flags-multiple'
|
||||
],
|
||||
],
|
||||
'default' => 0,
|
||||
]
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
|
||||
'config' => [
|
||||
'type' => 'group',
|
||||
'internal_type' => 'db',
|
||||
'allowed' => 'tx_news_domain_model_news',
|
||||
'size' => 1,
|
||||
'maxitems' => 1,
|
||||
'minitems' => 0,
|
||||
'default' => 0,
|
||||
],
|
||||
],
|
||||
'l10n_source' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough'
|
||||
]
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
'default' => ''
|
||||
]
|
||||
],
|
||||
'hidden' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.hidden',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'default' => 0,
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
]
|
||||
],
|
||||
]
|
||||
],
|
||||
'cruser_id' => [
|
||||
'label' => 'cruser_id',
|
||||
'config' => [
|
||||
'type' => 'passthrough'
|
||||
]
|
||||
],
|
||||
'pid' => [
|
||||
'label' => 'pid',
|
||||
'config' => [
|
||||
'type' => 'passthrough'
|
||||
]
|
||||
],
|
||||
'crdate' => [
|
||||
'label' => 'crdate',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'eval' => 'datetime',
|
||||
]
|
||||
],
|
||||
'tstamp' => [
|
||||
'label' => 'tstamp',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'eval' => 'datetime',
|
||||
]
|
||||
],
|
||||
'sorting' => [
|
||||
'label' => 'sorting',
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
]
|
||||
],
|
||||
'starttime' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:starttime_formlabel',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'size' => 16,
|
||||
'eval' => 'datetime,int',
|
||||
'default' => 0,
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
]
|
||||
],
|
||||
'endtime' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:endtime_formlabel',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'size' => 16,
|
||||
'eval' => 'datetime,int',
|
||||
'default' => 0,
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
]
|
||||
],
|
||||
'fe_group' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.fe_group',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectMultipleSideBySide',
|
||||
'size' => 5,
|
||||
'maxitems' => 20,
|
||||
'items' => [
|
||||
[
|
||||
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.hide_at_login',
|
||||
-1,
|
||||
],
|
||||
[
|
||||
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.any_login',
|
||||
-2,
|
||||
],
|
||||
[
|
||||
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.usergroups',
|
||||
'--div--',
|
||||
],
|
||||
],
|
||||
'exclusiveKeys' => '-1,-2',
|
||||
'foreign_table' => 'fe_groups',
|
||||
'foreign_table_where' => 'ORDER BY fe_groups.title',
|
||||
],
|
||||
],
|
||||
'title' => [
|
||||
'exclude' => false,
|
||||
'l10n_mode' => 'prefixLangTitle',
|
||||
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header_formlabel',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 60,
|
||||
'max' => 255,
|
||||
'eval' => 'required',
|
||||
]
|
||||
],
|
||||
'alternative_title' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_news.alternative_title',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
]
|
||||
],
|
||||
'teaser' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_news.teaser',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 60,
|
||||
'rows' => 5,
|
||||
'enableRichtext' => $configuration->getRteForTeaser(),
|
||||
]
|
||||
],
|
||||
'bodytext' => [
|
||||
'exclude' => false,
|
||||
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext_formlabel',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 30,
|
||||
'rows' => 5,
|
||||
'softref' => 'typolink_tag,email[subst],url',
|
||||
'enableRichtext' => true,
|
||||
]
|
||||
],
|
||||
'datetime' => [
|
||||
'exclude' => false,
|
||||
'label' => $ll . 'tx_news_domain_model_news.datetime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'size' => 16,
|
||||
'eval' => 'datetime,int' . ($configuration->getDateTimeRequired() ? ',required' : ''),
|
||||
]
|
||||
],
|
||||
'archive' => [
|
||||
'exclude' => true,
|
||||
'l10n_mode' => 'copy',
|
||||
'label' => $ll . 'tx_news_domain_model_news.archive',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'size' => 30,
|
||||
'eval' => $configuration->getArchiveDate() . ',int',
|
||||
'default' => 0
|
||||
]
|
||||
],
|
||||
'author' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.author_formlabel',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
]
|
||||
],
|
||||
'author_email' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.author_email_formlabel',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
]
|
||||
],
|
||||
'categories' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_news.categories',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectTree',
|
||||
'treeConfig' => [
|
||||
// 'dataProvider' => \GeorgRinger\News\TreeProvider\DatabaseTreeDataProvider::class,
|
||||
'parentField' => 'parent',
|
||||
'appearance' => [
|
||||
'showHeader' => true,
|
||||
'expandAll' => true,
|
||||
'maxLevels' => 99,
|
||||
],
|
||||
],
|
||||
'MM' => 'sys_category_record_mm',
|
||||
'MM_match_fields' => [
|
||||
'fieldname' => 'categories',
|
||||
'tablenames' => 'tx_news_domain_model_news',
|
||||
],
|
||||
'MM_opposite_field' => 'items',
|
||||
'foreign_table' => 'sys_category',
|
||||
'foreign_table_where' => ' AND (sys_category.sys_language_uid = 0 OR sys_category.l10n_parent = 0) ORDER BY sys_category.sorting',
|
||||
'size' => 10,
|
||||
'minitems' => 0,
|
||||
'maxitems' => 99,
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
]
|
||||
],
|
||||
'related' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_news.related',
|
||||
'config' => [
|
||||
'type' => 'group',
|
||||
'internal_type' => 'db',
|
||||
'allowed' => 'tx_news_domain_model_news',
|
||||
'foreign_table' => 'tx_news_domain_model_news',
|
||||
'MM_opposite_field' => 'related_from',
|
||||
'size' => 5,
|
||||
'minitems' => 0,
|
||||
'maxitems' => 100,
|
||||
'MM' => 'tx_news_domain_model_news_related_mm',
|
||||
'suggestOptions' => [
|
||||
'default' => [
|
||||
'suggestOptions' => true,
|
||||
'addWhere' => ' AND tx_news_domain_model_news.uid != ###THIS_UID###'
|
||||
]
|
||||
],
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
]
|
||||
],
|
||||
'related_from' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_news.related_from',
|
||||
'config' => [
|
||||
'type' => 'group',
|
||||
'internal_type' => 'db',
|
||||
'foreign_table' => 'tx_news_domain_model_news',
|
||||
'allowed' => 'tx_news_domain_model_news',
|
||||
'size' => 5,
|
||||
'maxitems' => 100,
|
||||
'MM' => 'tx_news_domain_model_news_related_mm',
|
||||
'readOnly' => 1,
|
||||
]
|
||||
],
|
||||
'related_links' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_news.related_links',
|
||||
'config' => [
|
||||
'type' => 'inline',
|
||||
'allowed' => 'tx_news_domain_model_link',
|
||||
'foreign_table' => 'tx_news_domain_model_link',
|
||||
'foreign_sortby' => 'sorting',
|
||||
'foreign_field' => 'parent',
|
||||
'size' => 5,
|
||||
'minitems' => 0,
|
||||
'maxitems' => 100,
|
||||
'appearance' => [
|
||||
'collapseAll' => true,
|
||||
'expandSingle' => true,
|
||||
'levelLinksPosition' => 'bottom',
|
||||
'useSortable' => true,
|
||||
'showPossibleLocalizationRecords' => true,
|
||||
'showRemovedLocalizationRecords' => true,
|
||||
'showAllLocalizationLink' => true,
|
||||
'showSynchronizationLink' => true,
|
||||
'enabledControls' => [
|
||||
'info' => false,
|
||||
]
|
||||
],
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
]
|
||||
],
|
||||
'type' => [
|
||||
'exclude' => false,
|
||||
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.doktype_formlabel',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
[$ll . 'tx_news_domain_model_news.type.I.0', 0, 'ext-news-type-default'],
|
||||
[$ll . 'tx_news_domain_model_news.type.I.1', 1, 'ext-news-type-internal'],
|
||||
[$ll . 'tx_news_domain_model_news.type.I.2', 2, 'ext-news-type-external'],
|
||||
],
|
||||
'fieldWizard' => [
|
||||
'selectIcons' => [
|
||||
'disabled' => false,
|
||||
],
|
||||
],
|
||||
'size' => 1,
|
||||
'maxitems' => 1,
|
||||
]
|
||||
],
|
||||
'keywords' => [
|
||||
'exclude' => true,
|
||||
'label' => $GLOBALS['TCA']['pages']['columns']['keywords']['label'],
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'placeholder' => $ll . 'tx_news_domain_model_news.keywords.placeholder',
|
||||
'cols' => 30,
|
||||
'rows' => 5,
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
]
|
||||
],
|
||||
'description' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.description_formlabel',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 30,
|
||||
'rows' => 5,
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
]
|
||||
],
|
||||
'internalurl' => [
|
||||
'exclude' => false,
|
||||
'label' => $ll . 'tx_news_domain_model_news.type.I.1',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputLink',
|
||||
'size' => 30,
|
||||
'max' => 255,
|
||||
'eval' => 'trim,required',
|
||||
'softref' => 'typolink'
|
||||
]
|
||||
],
|
||||
'externalurl' => [
|
||||
'exclude' => false,
|
||||
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.doktype.I.8',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 50,
|
||||
'eval' => 'required',
|
||||
'softref' => 'typolink'
|
||||
]
|
||||
],
|
||||
'istopnews' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_news.istopnews',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'default' => 0,
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
]
|
||||
],
|
||||
]
|
||||
],
|
||||
'editlock' => [
|
||||
'exclude' => true,
|
||||
'displayCond' => 'HIDE_FOR_NON_ADMINS',
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:editlock',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'default' => 0,
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => '',
|
||||
]
|
||||
],
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
]
|
||||
],
|
||||
'content_elements' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_news.content_elements',
|
||||
'config' => [
|
||||
'type' => 'inline',
|
||||
'allowed' => 'tt_content',
|
||||
'foreign_table' => 'tt_content',
|
||||
'foreign_sortby' => 'sorting',
|
||||
'foreign_field' => 'tx_news_related_news',
|
||||
'minitems' => 0,
|
||||
'maxitems' => 99,
|
||||
'appearance' => [
|
||||
'useXclassedVersion' => $configuration->getContentElementPreview(),
|
||||
'collapseAll' => true,
|
||||
'expandSingle' => true,
|
||||
'levelLinksPosition' => 'bottom',
|
||||
'useSortable' => true,
|
||||
'showPossibleLocalizationRecords' => true,
|
||||
'showRemovedLocalizationRecords' => true,
|
||||
'showAllLocalizationLink' => true,
|
||||
'showSynchronizationLink' => true,
|
||||
'enabledControls' => [
|
||||
'info' => false,
|
||||
]
|
||||
],
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
]
|
||||
],
|
||||
'tags' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_news.tags',
|
||||
'config' => [
|
||||
'type' => 'group',
|
||||
'internal_type' => 'db',
|
||||
'allowed' => 'tx_news_domain_model_tag',
|
||||
'MM' => 'tx_news_domain_model_news_tag_mm',
|
||||
'foreign_table' => 'tx_news_domain_model_tag',
|
||||
'foreign_table_where' => ' AND (tx_news_domain_model_tag.sys_language_uid IN (-1,0) OR tx_news_domain_model_tag.l10n_parent = 0) ORDER BY tx_news_domain_model_tag.title',
|
||||
|
||||
'size' => 10,
|
||||
'minitems' => 0,
|
||||
'maxitems' => 99,
|
||||
|
||||
'fieldInformation' => [
|
||||
'tagInformation' => [
|
||||
'renderType' => 'NewsStaticText',
|
||||
'options' => [
|
||||
'labels' => [
|
||||
[
|
||||
'label' => '',
|
||||
'bold' => true,
|
||||
'italic' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'suggestOptions' => [
|
||||
'default' => [
|
||||
'minimumCharacters' => 2,
|
||||
'searchWholePhrase' => true,
|
||||
'receiverClass' => \GeorgRinger\News\Backend\Wizard\SuggestWizardReceiver::class
|
||||
],
|
||||
],
|
||||
'fieldControl' => [
|
||||
'editPopup' => [
|
||||
'disabled' => false,
|
||||
'options' => [
|
||||
'type' => 'popup',
|
||||
'title' => $ll . 'tx_news_domain_model_news.tags.edit',
|
||||
'module' => [
|
||||
'name' => 'wizard_edit',
|
||||
],
|
||||
'popup_onlyOpenIfSelected' => true,
|
||||
'icon' => 'actions-open',
|
||||
'JSopenParams' => 'height=350,width=580,status=0,menubar=0,scrollbars=1',
|
||||
],
|
||||
],
|
||||
'listModule' => [
|
||||
'disabled' => false,
|
||||
'options' => [
|
||||
'type' => 'script',
|
||||
'title' => $ll . 'tx_news_domain_model_news.tags.list',
|
||||
'icon' => 'actions-system-list-open',
|
||||
'params' => [
|
||||
'table' => 'tx_news_domain_model_tag',
|
||||
'pid' => $configuration->getTagPid(),
|
||||
],
|
||||
'module' => [
|
||||
'name' => 'wizard_list',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
'path_segment' => [
|
||||
'label' => $ll . 'tx_news_domain_model_news.path_segment',
|
||||
'displayCond' => 'VERSION:IS:false',
|
||||
'config' => [
|
||||
'type' => 'slug',
|
||||
'size' => 50,
|
||||
'generatorOptions' => [
|
||||
'fields' => ['title'],
|
||||
'replacements' => [
|
||||
'/' => '-'
|
||||
],
|
||||
],
|
||||
'fallbackCharacter' => '-',
|
||||
'eval' => $configuration->getSlugBehaviour(),
|
||||
'default' => ''
|
||||
]
|
||||
],
|
||||
'import_id' => [
|
||||
'label' => $ll . 'tx_news_domain_model_news.import_id',
|
||||
'config' => [
|
||||
'type' => 'passthrough'
|
||||
]
|
||||
],
|
||||
'import_source' => [
|
||||
'label' => $ll . 'tx_news_domain_model_news.import_source',
|
||||
'config' => [
|
||||
'type' => 'passthrough'
|
||||
]
|
||||
],
|
||||
'fal_media' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_news.fal_media',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'fal_media',
|
||||
[
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => $ll . 'tx_news_domain_model_news.fal_media.add',
|
||||
'showPossibleLocalizationRecords' => true,
|
||||
'showRemovedLocalizationRecords' => true,
|
||||
'showAllLocalizationLink' => true,
|
||||
'showSynchronizationLink' => true
|
||||
],
|
||||
'foreign_match_fields' => [
|
||||
'fieldname' => 'fal_media',
|
||||
'tablenames' => 'tx_news_domain_model_news',
|
||||
'table_local' => 'sys_file',
|
||||
],
|
||||
// custom configuration for displaying fields in the overlay/reference table
|
||||
// to use the newsPalette and imageoverlayPalette instead of the basicoverlayPalette
|
||||
'overrideChildTca' => [
|
||||
'types' => [
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;newsPalette,
|
||||
--palette--;;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;newsPalette,
|
||||
--palette--;;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;newsPalette,
|
||||
--palette--;;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;newsPalette,
|
||||
--palette--;;audioOverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;newsPalette,
|
||||
--palette--;;videoOverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;newsPalette,
|
||||
--palette--;;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
]
|
||||
],
|
||||
],
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['SYS']['mediafile_ext']
|
||||
)
|
||||
],
|
||||
'fal_related_files' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_news.fal_related_files',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'fal_related_files',
|
||||
[
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true,
|
||||
],
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => $ll . 'tx_news_domain_model_news.fal_related_files.add',
|
||||
'showPossibleLocalizationRecords' => true,
|
||||
'showRemovedLocalizationRecords' => true,
|
||||
'showAllLocalizationLink' => true,
|
||||
'showSynchronizationLink' => true
|
||||
],
|
||||
'inline' => [
|
||||
'inlineOnlineMediaAddButtonStyle' => 'display:none'
|
||||
],
|
||||
'foreign_match_fields' => [
|
||||
'fieldname' => 'fal_related_files',
|
||||
'tablenames' => 'tx_news_domain_model_news',
|
||||
'table_local' => 'sys_file',
|
||||
],
|
||||
]
|
||||
)
|
||||
],
|
||||
'notes' => [
|
||||
'label' => $ll . 'notes',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'rows' => 10,
|
||||
'cols' => 48
|
||||
]
|
||||
],
|
||||
],
|
||||
'types' => [
|
||||
// default news
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;;paletteCore,title,--palette--;;paletteSlug,teaser,
|
||||
--palette--;;paletteDate,
|
||||
bodytext,
|
||||
--div--;' . $ll . 'tx_news_domain_model_news.content_elements,
|
||||
content_elements,
|
||||
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.media,
|
||||
fal_media,fal_related_files,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
|
||||
categories,
|
||||
--div--;' . $ll . 'tx_news_domain_model_news.tabs.relations,
|
||||
related,related_from,
|
||||
related_links,tags,
|
||||
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.metadata,
|
||||
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.editorial;paletteAuthor,
|
||||
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.metatags;metatags,
|
||||
--palette--;' . $ll . 'tx_news_domain_model_news.palettes.alternativeTitles;alternativeTitles,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
|
||||
--palette--;;paletteLanguage,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
|
||||
--palette--;;paletteHidden,
|
||||
--palette--;;paletteAccess,
|
||||
--div--;' . $ll . 'notes,
|
||||
notes,
|
||||
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.extended,'
|
||||
],
|
||||
// internal url
|
||||
'1' => [
|
||||
'showitem' => '
|
||||
--palette--;;paletteCore,title,--palette--;;paletteSlug,teaser,
|
||||
internalurl,
|
||||
--palette--;;paletteDate,
|
||||
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.media,
|
||||
fal_media,fal_related_files,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
|
||||
categories,
|
||||
--div--;' . $ll . 'tx_news_domain_model_news.tabs.relations,
|
||||
related,related_from,
|
||||
related_links,tags,
|
||||
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.metadata,
|
||||
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.editorial;paletteAuthor,
|
||||
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.metatags;metatags,
|
||||
--palette--;' . $ll . 'tx_news_domain_model_news.palettes.alternativeTitles;alternativeTitles,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
|
||||
--palette--;;paletteLanguage,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
|
||||
--palette--;;paletteHidden,
|
||||
--palette--;;paletteAccess,
|
||||
--div--;' . $ll . 'notes,
|
||||
notes,
|
||||
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.extended,'
|
||||
],
|
||||
// external url
|
||||
'2' => [
|
||||
'showitem' => '
|
||||
--palette--;;paletteCore,title,--palette--;;paletteSlug,teaser,
|
||||
externalurl,
|
||||
--palette--;;paletteDate,
|
||||
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.media,
|
||||
fal_media,fal_related_files,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
|
||||
categories,
|
||||
--div--;' . $ll . 'tx_news_domain_model_news.tabs.relations,
|
||||
related,related_from,
|
||||
related_links,tags,
|
||||
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.metadata,
|
||||
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.editorial;paletteAuthor,
|
||||
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.metatags;metatags,
|
||||
--palette--;' . $ll . 'tx_news_domain_model_news.palettes.alternativeTitles;alternativeTitles,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
|
||||
--palette--;;paletteLanguage,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
|
||||
--palette--;;paletteHidden,
|
||||
--palette--;;paletteAccess,
|
||||
--div--;' . $ll . 'notes,
|
||||
notes,
|
||||
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.extended,'
|
||||
],
|
||||
],
|
||||
'palettes' => [
|
||||
'paletteAuthor' => [
|
||||
'showitem' => 'author,author_email,',
|
||||
],
|
||||
'paletteDate' => [
|
||||
'label' => $ll . 'tx_news_domain_model_news.palettes.dates',
|
||||
'showitem' => 'datetime,archive,',
|
||||
],
|
||||
'paletteCore' => [
|
||||
'showitem' => 'type,istopnews,',
|
||||
],
|
||||
'metatags' => [
|
||||
'showitem' => 'keywords,description,',
|
||||
],
|
||||
'alternativeTitles' => [
|
||||
'showitem' => 'alternative_title',
|
||||
],
|
||||
|
||||
'paletteHidden' => [
|
||||
'showitem' => '
|
||||
hidden
|
||||
',
|
||||
],
|
||||
'paletteAccess' => [
|
||||
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access',
|
||||
'showitem' => '
|
||||
starttime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:starttime_formlabel,
|
||||
endtime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:endtime_formlabel,
|
||||
--linebreak--,
|
||||
fe_group;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:fe_group_formlabel,
|
||||
--linebreak--,editlock
|
||||
',
|
||||
],
|
||||
'paletteLanguage' => [
|
||||
'showitem' => '
|
||||
sys_language_uid;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:sys_language_uid_formlabel,l10n_parent, l10n_diffsource,
|
||||
',
|
||||
],
|
||||
'paletteSlug' => [
|
||||
'showitem' => '
|
||||
path_segment
|
||||
',
|
||||
],
|
||||
]
|
||||
];
|
||||
|
||||
// category restriction based on settings in extension manager
|
||||
$categoryRestrictionSetting = $configuration->getCategoryRestriction();
|
||||
if ($categoryRestrictionSetting) {
|
||||
$categoryRestriction = '';
|
||||
switch ($categoryRestrictionSetting) {
|
||||
case 'current_pid':
|
||||
$categoryRestriction = ' AND sys_category.pid=###CURRENT_PID### ';
|
||||
break;
|
||||
case 'siteroot':
|
||||
$categoryRestriction = ' AND sys_category.pid IN (###SITEROOT###) ';
|
||||
break;
|
||||
case 'page_tsconfig':
|
||||
$categoryRestriction = ' AND sys_category.pid IN (###PAGE_TSCONFIG_IDLIST###) ';
|
||||
break;
|
||||
default:
|
||||
$categoryRestriction = '';
|
||||
}
|
||||
|
||||
// prepend category restriction at the beginning of foreign_table_where
|
||||
if (!empty($categoryRestriction)) {
|
||||
$tx_news_domain_model_news['columns']['categories']['config']['foreign_table_where'] = $categoryRestriction .
|
||||
$tx_news_domain_model_news['columns']['categories']['config']['foreign_table_where'];
|
||||
}
|
||||
}
|
||||
|
||||
if (!$configuration->getContentElementRelation()) {
|
||||
unset($tx_news_domain_model_news['columns']['content_elements']);
|
||||
}
|
||||
|
||||
return $tx_news_domain_model_news;
|
||||
@@ -0,0 +1,195 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3_MODE') or die();
|
||||
|
||||
$ll = 'LLL:EXT:news/Resources/Private/Language/locallang_db.xlf:';
|
||||
$configuration = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\GeorgRinger\News\Domain\Model\Dto\EmConfiguration::class);
|
||||
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => $ll . 'tx_news_domain_model_tag',
|
||||
'descriptionColumn' => 'notes',
|
||||
'label' => 'title',
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'cruser_id' => 'cruser_id',
|
||||
'versioningWS' => true,
|
||||
'languageField' => 'sys_language_uid',
|
||||
'transOrigPointerField' => 'l10n_parent',
|
||||
'transOrigDiffSourceField' => 'l10n_diffsource',
|
||||
'translationSource' => 'l10n_source',
|
||||
'default_sortby' => 'ORDER BY title',
|
||||
'delete' => 'deleted',
|
||||
'enablecolumns' => [
|
||||
'disabled' => 'hidden',
|
||||
],
|
||||
'typeicon_classes' => [
|
||||
'default' => 'ext-news-tag'
|
||||
],
|
||||
'searchFields' => 'uid,title',
|
||||
],
|
||||
'columns' => [
|
||||
'sys_language_uid' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'special' => 'languages',
|
||||
'items' => [
|
||||
[
|
||||
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.allLanguages',
|
||||
-1,
|
||||
'flags-multiple'
|
||||
],
|
||||
],
|
||||
'default' => 0,
|
||||
]
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['', 0],
|
||||
],
|
||||
'foreign_table' => 'tx_news_domain_model_tag',
|
||||
'foreign_table_where' => 'AND tx_news_domain_model_tag.pid=###CURRENT_PID### AND tx_news_domain_model_tag.sys_language_uid IN (-1,0)',
|
||||
'fieldWizard' => [
|
||||
'selectIcons' => [
|
||||
'disabled' => true,
|
||||
],
|
||||
],
|
||||
'default' => 0,
|
||||
]
|
||||
],
|
||||
'l10n_source' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough'
|
||||
]
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
'default' => ''
|
||||
]
|
||||
],
|
||||
'pid' => [
|
||||
'label' => 'pid',
|
||||
'config' => [
|
||||
'type' => 'passthrough'
|
||||
]
|
||||
],
|
||||
'crdate' => [
|
||||
'label' => 'crdate',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'eval' => 'datetime',
|
||||
]
|
||||
],
|
||||
'tstamp' => [
|
||||
'label' => 'tstamp',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'renderType' => 'inputDateTime',
|
||||
'eval' => 'datetime',
|
||||
]
|
||||
],
|
||||
'hidden' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.hidden',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'default' => 0
|
||||
]
|
||||
],
|
||||
'title' => [
|
||||
'exclude' => false,
|
||||
'label' => $ll . 'tx_news_domain_model_tag.title',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'required,unique,trim',
|
||||
]
|
||||
],
|
||||
'slug' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:pages.slug',
|
||||
'displayCond' => 'VERSION:IS:false',
|
||||
'config' => [
|
||||
'type' => 'slug',
|
||||
'size' => 50,
|
||||
'generatorOptions' => [
|
||||
'fields' => ['title'],
|
||||
'replacements' => [
|
||||
'/' => '-'
|
||||
],
|
||||
],
|
||||
'fallbackCharacter' => '-',
|
||||
'eval' => $configuration->getSlugBehaviour(),
|
||||
'default' => ''
|
||||
]
|
||||
],
|
||||
'seo_headline' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_tag.seo.seo_headline',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
],
|
||||
],
|
||||
'seo_title' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_tag.seo.seo_title',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
],
|
||||
],
|
||||
'seo_description' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_tag.seo.seo_description',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
],
|
||||
],
|
||||
'seo_text' => [
|
||||
'exclude' => true,
|
||||
'label' => $ll . 'tx_news_domain_model_tag.seo.seo_text',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'enableRichtext' => true,
|
||||
],
|
||||
],
|
||||
'notes' => [
|
||||
'label' => $ll . 'notes',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'rows' => 10,
|
||||
'cols' => 48
|
||||
]
|
||||
],
|
||||
],
|
||||
'types' => [
|
||||
0 => [
|
||||
'showitem' => 'title, slug, --palette--;;paletteCore,
|
||||
--div--;' . $ll . 'tx_news_domain_model_tag.tabs.seo, seo_title, seo_description, seo_headline, seo_text,
|
||||
--div--;' . $ll . 'notes,
|
||||
notes,
|
||||
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.extended,
|
||||
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
|
||||
--palette--;;paletteLanguage,'
|
||||
]
|
||||
],
|
||||
'palettes' => [
|
||||
'paletteCore' => [
|
||||
'showitem' => 'hidden,',
|
||||
],
|
||||
'paletteLanguage' => [
|
||||
'showitem' => '
|
||||
sys_language_uid;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:sys_language_uid_formlabel,l10n_parent, l10n_diffsource,
|
||||
',
|
||||
],
|
||||
]
|
||||
];
|
||||
Reference in New Issue
Block a user