sys_language_uid!=时showItem上的TCA覆盖0



我正在将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]

以上已解决

相关内容

  • 没有找到相关文章

最新更新