Internationalization 为什么内联/IRE记录获取sys\u language\u uid=0?
当在后端创建Internationalization 为什么内联/IRE记录获取sys\u language\u uid=0?,internationalization,typo3,typo3-9.x,Internationalization,Typo3,Typo3 9.x,当在后端创建sys\u language\u uid=2(无翻译/l10n\u parent=0)中的tt\u content记录,并在类型=>'inline'列tx\u foo\u slides中插入字段时(定义如下),tx\u foo\u domain\u model\u幻灯片中新创建的记录是使用sys\u language\u uid=0创建的。将图像添加到幻灯片的图像字段将创建一个sys\u文件\u引用,其中sys\u语言\u uid=2这是正确的吗?如果没有,我该如何更改此设置?我希望
sys\u language\u uid=2
(无翻译/l10n\u parent=0
)中的tt\u content
记录,并在类型=>'inline'
列tx\u foo\u slides
中插入字段时(定义如下),tx\u foo\u domain\u model\u幻灯片中新创建的记录是使用sys\u language\u uid=0
创建的。将图像添加到幻灯片的图像字段将创建一个sys\u文件\u引用
,其中sys\u语言\u uid=2
这是正确的吗?如果没有,我该如何更改此设置?我希望所有记录(tt\u content
,tx\u foo\u slider\u slides
,sys\u file\u reference
)都是用sys\u language\u uid=2
创建的。似乎在更新之前创建的记录的sys\u language\u uid
设置为2,但我不确定在8到9之间发生了什么变化:这是核心变化吗?还是我的站点/语言配置sys\u language\u uid
在TCA中的默认值为0,但删除该值并创建其他记录并没有显示任何不同的行为
当试图通过ExtBase存储库加载记录时,我似乎必须使用setreservesyslanguage(false)
:
- 使用
setLanguageOverlyMode(false)
- 我确实使用
setlanguageOverlyMode(true)
获得结果,但是图像字段是NULL
。
- 。。。但是,如果我也手动将
tx\u foo\u domain\u model\u slide.sys\u language\u uid
更改为2,则在BE和FE/ExtBase中看起来很好(image
是一个有效的FileReference
)
会出什么问题?可能需要改变什么?我认为使用非默认语言创建记录是一种受支持的情况?对我来说,根本原因似乎是使用错误的语言集创建记录
我的配置:
- 类型3 9.5.5(从8更新)
config.tx\u extbase.features.consistentTranslationOverlayHandling=1
(但也测试了0
)
config.sys\u language\u overlay=0
(我不认为1
或hideNonTranslated
改变了任何行为)
- 站点(和多站点)。此特定网站提供两种语言:
- 已禁用德语语言1(
languageId:'0'
)
- 语言2,英语(
languageId:'2'
)已启用<代码>后备类型:严格
tx\u foo\u domain\u model\u幻灯片
,包括语言字段和图像
列:- 在
中有一列tt\u content
:tx\u foo\u slider\u幻灯片
这种情况下的问题是,
tx\u foo\u domain\u model\u slide.sys\u language\u uid
定义为:
'sys_language_uid' => [
'config' => [
'type' => 'passthrough',
'default' => '',
],
],
根据报告:
- 默认情况下,FormEngine不会为传递类型呈现任何内容。但它可以与自定义renderType组合,使其呈现某些内容。不过,用户类型更适合此类用例
- 类型传递字段值通常也不会在后端的其他位置呈现
这导致未设置
sys\u language\u uid
(并保持在0)。因此,sys\u language\u uid
必须定义为'type
=>'select'`或类似的类型。要隐藏它,可以将其放入一个幻灯片中,如前所述。本例中的问题是,tx\u foo\u domain\u model\u slide.sys\u language\u uid
定义为:
'sys_language_uid' => [
'config' => [
'type' => 'passthrough',
'default' => '',
],
],
根据报告:
- 默认情况下,FormEngine不会为传递类型呈现任何内容。但它可以与自定义renderType组合,使其呈现某些内容。不过,用户类型更适合此类用例
- 类型传递字段值通常也不会在后端的其他位置呈现
sys\u language\u uid
(并保持在0)。因此,sys\u language\u uid
必须定义为'type
=>'select'`或类似的类型。要隐藏它,可以将其放入一个文件夹中,如所述
'sys_language_uid' => [
'config' => [
'type' => 'passthrough',
'default' => '',
],
],