在 TYPO3 中获取后端用户当前选择的语言
Get currently selected language of backend user in TYPO3
在后端上下文中的PHP函数中,我想确定 BE 用户当前selected 的语言。
在我的用例中,编辑器从值列表中选择(由 itemsProcFunc) in a Flexform 生成。这些值已本地化。
示例:
这是 flexform 输出:
显示在 multi-select 框中的标签是在 itemsProcFunc 中动态创建的,如果用户在后端的首选语言是英语,则应以英语显示。
$lang = $GLOBALS['BE_USER']->uc['lang'] ?? '';
if ($lang === '') {
$lang = 'en';
}
- Backend user settings可以检索,使用后端用户对象中的
uc
数组。
- 如果当前选择的语言是“en”,则返回一个空字符串。
注意:由于应该使用 TYPO3 9 context and aspects 而不是查询全局变量(例如 $GLOBALS['BE_USER']
),但是我不知道做这件事的方法(从首选项中获取 lang ) 没有 $GLOBALS['BE_USER']
.
在后端上下文中的PHP函数中,我想确定 BE 用户当前selected 的语言。
在我的用例中,编辑器从值列表中选择(由 itemsProcFunc) in a Flexform 生成。这些值已本地化。
示例:
这是 flexform 输出:
显示在 multi-select 框中的标签是在 itemsProcFunc 中动态创建的,如果用户在后端的首选语言是英语,则应以英语显示。
$lang = $GLOBALS['BE_USER']->uc['lang'] ?? '';
if ($lang === '') {
$lang = 'en';
}
- Backend user settings可以检索,使用后端用户对象中的
uc
数组。 - 如果当前选择的语言是“en”,则返回一个空字符串。
注意:由于应该使用 TYPO3 9 context and aspects 而不是查询全局变量(例如 $GLOBALS['BE_USER']
),但是我不知道做这件事的方法(从首选项中获取 lang ) 没有 $GLOBALS['BE_USER']
.