我正在将TYPO3 v8.7更新为TYPO3 10.4 LTS
在TCA中,我们有一个pageType,其中showitem
是我们选择的。在v8中,我们使用以下内容为翻译页面提供自定义视图,例如pages_language_overlay
$GLOBALS['TCA']['pages_language_overlay']['types'][$doktype] = array_replace_recursive(
$GLOBALS['TCA']['pages_language_overlay']['types'][$doktype],
[
'showitem' => '
myCustomShowItemString
'
]
);
问题:既然pages_language_overlay已经不存在,那么再次出现这种行为的正确方法是什么?
由于转换后的pages
记录也是pages
记录,因此表pages
需要此配置。
要么你已经有了,因为你的新doktype对每种语言的行为都是一样的
或者如果sys_language_uid
不是0
,则需要特殊处理
然后,您可能需要根据sys_language_uid
(这个字段可见,其他字段不可见?(表现不同的字段的显示条件
TCA-必须在自定义字段之后加载的文件
$disableOnLanguageOverlay = [
'my_tca_field',
'my_tca_field',
];
foreach ($disableOnLanguageOverlay as $field) {
if (isset($GLOBALS['TCA']['pages']['columns'][$field])) {
$GLOBALS['TCA']['pages']['columns'][$field] = array_merge($GLOBALS['TCA']['pages']['columns'][$field], ['l10n_mode' => 'exclude']);
}
}
对于打字文字
[siteLanguage("languageId") != 0]
TCEFORM {
pages {
myField {
disabled = 0
}
}
}
[global]
以上已解决