diff --git a/Configuration/TCA/tx_sgnews_domain_model_author.php b/Configuration/TCA/tx_sgnews_domain_model_author.php index 29a2ecf828378f29d1403e80461314fcc1374c89..67de4c106fdb269f70dc58f62f019e95fdb17b51 100644 --- a/Configuration/TCA/tx_sgnews_domain_model_author.php +++ b/Configuration/TCA/tx_sgnews_domain_model_author.php @@ -40,10 +40,14 @@ return [ 'disabled' => 'hidden', ], 'default_sortby' => 'crdate DESC', + 'languageField' => 'sys_language_uid', + 'transOrigPointerField' => 'l10n_parent', + 'transOrigDiffSourceField' => 'l10n_diffsource', 'iconfile' => 'EXT:sg_news/Resources/Public/Icons/module-sgnews.svg' ], 'interface' => [ - 'showRecordFieldList' => 'hidden, crdate, name, email, description, website, image, path_segment', + 'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, crdate, name, email, + description, website, image, path_segment', ], 'types' => [ '1' => [ @@ -76,13 +80,53 @@ return [ ], 'hidden' => [ 'exclude' => TRUE, + 'l10n_mode' => 'exclude', 'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:hidden.I.0', 'config' => [ 'type' => 'check', ], ], + 'sys_language_uid' => [ + 'exclude' => TRUE, + 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language', + 'config' => [ + 'type' => 'select', + 'renderType' => 'selectSingle', + 'special' => 'languages', + 'default' => 0, + 'items' => [ + [ + 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.allLanguages', + -1, + 'flags-multiple' + ] + ] + ] + ], + 'l10n_parent' => [ + 'displayCond' => 'FIELD:sys_language_uid:>:0', + 'exclude' => TRUE, + 'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', + 'config' => [ + 'type' => 'select', + 'renderType' => 'selectSingle', + 'items' => [ + ['', 0] + ], + 'foreign_table' => 'tx_sgnews_domain_model_author', + 'foreign_table_where' => 'AND tx_sgnews_domain_model_author.uid=###REC_FIELD_l10n_parent### AND tx_sgnews_domain_model_author.sys_language_uid IN (-1,0)', + 'default' => 0 + ] + ], + 'l10n_diffsource' => [ + 'config' => [ + 'type' => 'passthrough', + 'default' => '' + ] + ], 'website' => [ 'exclude' => FALSE, + 'l10n_mode' => 'exclude', 'label' => 'LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:tx_sgnews_domain_model_author.website', 'config' => [ 'type' => 'input', @@ -92,6 +136,7 @@ return [ ], 'name' => [ 'exclude' => FALSE, + 'l10n_mode' => 'exclude', 'label' => 'LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:tx_sgnews_domain_model_author.name', 'config' => [ 'type' => 'input', @@ -101,6 +146,7 @@ return [ ], 'email' => [ 'exclude' => FALSE, + 'l10n_mode' => 'exclude', 'label' => 'LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:tx_sgnews_domain_model_author.email', 'config' => [ 'type' => 'input', @@ -120,6 +166,7 @@ return [ ], 'image' => [ 'exclude' => TRUE, + 'l10n_mode' => 'exclude', 'label' => 'LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:tx_sgnews_domain_model_author.image', 'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig( 'files', [ @@ -133,6 +180,7 @@ return [ ], 'path_segment' => [ 'label' => 'LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:tx_sgnews_domain_model_author.path_segment', + 'l10n_mode' => 'exclude', 'config' => [ 'type' => 'slug', 'generatorOptions' => [ diff --git a/ext_tables.sql b/ext_tables.sql index dc515b904db41090f012d51b06ec55bd6ad15155..376f04d84747324d14d069136e665a08f524dd4c 100644 --- a/ext_tables.sql +++ b/ext_tables.sql @@ -39,6 +39,11 @@ CREATE TABLE tx_sgnews_domain_model_author ( deleted tinyint(4) unsigned DEFAULT '0' NOT NULL, hidden tinyint(4) unsigned DEFAULT '0' NOT NULL, + sys_language_uid int(11) DEFAULT '0' NOT NULL, + l10n_parent int(11) DEFAULT '0' NOT NULL, + l10n_diffsource mediumblob, + PRIMARY KEY (uid), - KEY parent (pid) + KEY parent (pid), + KEY language (l10n_parent,sys_language_uid) );