我有一个后端用户,只能使用一种语言。但是这个后端用户仍然可以创建或切换“所有语言”语言的内容。
如何禁用此用户的“所有语言”选项。
或者我该如何禁用它?我们根本不需要它。
到目前为止我的尝试:
我在sys_language_uid
编辑了typo3\sysext\frontend\Configuration\TCA\tt_content.php
的配置:
'sys_language_uid' => array(
'exclude' => 1,
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.language',
'config' => array(
'type' => 'select',
'renderType' => 'selectSingle',
'special' => 'languages',
/* 'items' => array(
array(
'LLL:EXT:lang/locallang_general.xlf:LGL.allLanguages',
-1,
'flags-multiple'
),
),*/
'default' => 0,
)
),
在所有正常的tt_content元素中,“all”语言不再可用。但有两个缺点:
答案 0 :(得分:0)
是的,您可以使用Page TSConfig:
从TCEFORM选择框中删除选项TCEFORM.tt_content.sys_language_uid.removeItems = -1
您需要为每个受影响的表配置这样的配置:
TCEFORM.tx_news_domain_model_news.sys_language_uid.removeItems = -1
不幸的是,核心中没有钩子来影响具有特殊类型languages
的选择框的语言列表。如果您真的需要这个低级别,可以使用XCLASS \TYPO3\CMS\Backend\Form\FormDataProvider\DatabaseSystemLanguageRow.php
并删除那里的[All languages]
语言。